【问题标题】:Importing Test Database to Main Database将测试数据库导入主数据库
【发布时间】:2012-07-06 19:48:25
【问题描述】:

我的问题是我决定建立一个测试数据库,我可以在其中放置我正在测试的数据,并且我可以毫无问题地进行操作。当一切正常时,我将数据迁移到“官方”数据库,我计划在其中迁移不同的测试数据库。

问题是子表。我有:

Table1:          Table2:          Child:
- id             -id              -idTable1
- name           -name            -idTable2
- url            -type            -quantity

为了迁移 Table1 和 Table2,我想在“官方”数据库上创建一个临时 ID。当我想迁移表“Child”时,我唯一能想到的就是检查每一行并使用相应的新 ID 更新它。 难道没有更好的方法吗?

我也想过干脆忘记测试数据库,只使用“官方”数据库,但我害怕每次犯错都必须从头开始。

我想我在这里看到了一些关于 SO 的示例,但它们似乎比我需要的要复杂得多。

【问题讨论】:

    标签: mysql database database-design database-migration


    【解决方案1】:

    如果问题是您不想避免 2 个(或更多)数据库上的重复 ID, 您应该阅读“自动增量”和“自动增量偏移”。

    如果服务器 1 有:

    auto-increment-increment                        = 4
    auto-increment-offset                           = 1
    

    那么在该服务器上生成的 id 号将是:1,5,9,13...

    第二台服务器配置如下

    auto-increment-increment                        = 4
    auto-increment-offset                           = 2
    

    第二台服务器上的 ID 号将是 2,6,10,14..

    允许您在服务器之间复制数据,包括 ID 号

    【讨论】:

    • 如果我有两个测试数据库就好了,但我不知道我会有多少。 :(
    • 示例是最多 4 个配置,因此将 auto-increment-increment 设置为 100、1000 或更高 :-)
    猜你喜欢
    • 1970-01-01
    • 2015-05-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-06
    • 2011-06-24
    • 2018-02-05
    • 1970-01-01
    相关资源
    最近更新 更多