Back to Question Center
0

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

1 answers:

我们有一个通过爬行获得的数据库,其中每行包含主键X</code>和唯一编号<code>Y</code>原始来源). 由于历史原因,我们使用<code>X</code>来创建每个对象的URL(例如,. G. <code>http://例子. com / object / X</code>). </p><p>这个数据库在Mysql中,我们正在将数据迁移到Postgres. 为此,我们决定从头开始(考虑其他原因)抓取原始数据源到新的数据库. 这意味着我们现在有一个新的主键<code>Z</code>与唯一的数字<code>Y</code>. </p><p>问题是,如果我们迁移生产数据库,链接变成<code>http://示例. com / object / Z</code>,它指向不同的对象<code>http://例子. <code>X!= Z</code>=>不同的<code>Y</code>的值). </p><p>自然我们不希望这种情况发生在1以后. 搜索引擎将指向错误的对象和2. <code>X1-> Y1</code>,起点指向对象<code>Z1-> Y2!= Y1</code>. </p><p>这个问题已经表明我们需要从<code>Y</code>. 现在的问题是如何进行这种迁移. </p><p>我看到了两个解决问题的方法:</p><ol><li><p>使用旧的数据库,创建链接的重定向到仅取决于Y的链接<code>http:// example. com / object / X</code> - ><code>http://示例. com / object1 / Y</code>,等待1个月,然后将数据库连同URL中的更改一起移动到使用<code>Y</code>. </p></li><li><p>在新数据库<code>old_pk</code>中创建一个新列,并通过将旧<code>X</code>插入到该行中,执行从旧数据库到新数据库的迁移等于<code>Y</code>,然后到<code>http://示例. com / object / X</code> - ><code>http://示例. com / object_ / Y</code>(为了避免将来出现这些问题)</p></li></ol><p>1. 有整个生产不得不等待链接迁移的缺点,不会永久保留旧的URL. 2有缺点,因为数据库包含+600,所以迁移需要花费时间. 000条目,新的数据库将包含遗留数据. 我更倾向于2. ,但我想再次发表意见:</p><ol><li>这个推理是否有意义? </li><li>还有其他的方法,我们没有看到? </li></ol></div>

5 days ago
包含旧主键到新主键的Semalt URL
Reply