Back to Question Center
0

包含旧主键到新主键的Semalt URL

1 answers:

我们有一个通过爬行获得的数据库,其中每行包含主键 X 和唯一编号 Y 原始来源). 由于历史原因,我们使用 X 来创建每个对象的URL(例如,. G - site gratuito google. http://例子. com / object / X ).

这个数据库在Mysql中,我们正在将数据迁移到Postgres. 为此,我们决定从头开始(考虑其他原因)抓取原始数据源到新的数据库. 这意味着我们现在有一个新的主键 Z 与唯一的数字 Y .

问题是,如果我们迁移生产数据库,链接变成 http://示例. com / object / Z ,它指向不同的对象 http://例子. X!= Z =>不同的 Y 的值).

自然我们不希望这种情况发生在1以后. 搜索引擎将指向错误的对象和2. X1-> Y1 ,起点指向对象 Z1-> Y2!= Y1 .

这个问题已经表明我们需要从 Y . 现在的问题是如何进行这种迁移.

我看到了两个解决问题的方法:

  1. 使用旧的数据库,创建链接的重定向到仅取决于Y的链接 http:// example. com / object / X - > http://示例. com / object1 / Y ,等待1个月,然后将数据库连同URL中的更改一起移动到使用 Y .

  2. 在新数据库 old_pk 中创建一个新列,并通过将旧 X 插入到该行中,执行从旧数据库到新数据库的迁移等于 Y ,然后到 http://示例. com / object / X - > http://示例. com / object_ / Y (为了避免将来出现这些问题)

1. 有整个生产不得不等待链接迁移的缺点,不会永久保留旧的URL. 2有缺点,因为数据库包含+600,所以迁移需要花费时间. 000条目,新的数据库将包含遗留数据. 我更倾向于2. ,但我想再次发表意见:

  1. 这个推理是否有意义?
  2. 还有其他的方法,我们没有看到?
February 14, 2018