使用groovy脚本迁移数据库

时间:2011-04-26 14:57:12

标签: mysql database groovy

我需要使用groovy脚本将数据库迁移到一个全新的模式,我不知道从哪里开始。除了我必须用于所有主键的UUID的新实现之外,一些表迁移几乎是一对一的。 对于其他表,必须拆分数据,在某些情况下,必须将某些字段解析为新数据库中的各个列。

我相信我可以单独做这些事情,但就像我说我不知道​​从哪里开始。任何有用的指针,示例,链接或建议都将受到欢迎。

例如,在旧架构中,有一个人员表,其中包含姓名,工作等的列和包含地址的个人信息。但是在新模式中有一个地址表,因此我们需要将人员的地址部分迁移到地址条目,其余部分迁移到人员条目,并通过id和address_id将这两个地址与UUID连接起来。我该怎么做?

1 个答案:

答案 0 :(得分:2)

这不是很复杂但很乏味。我建议的方法来攻击这个:

  1. 为您的测试创建一个非常小的数据库。 H2 is your friend
  2. 为您需要执行的每次迁移编写小测试。这可以确保明天的改变不会破坏今天的工作。
  3. 使用测试用例(迁移不起作用)加载小型数据库。为此编写测试。
  4. 测试如下:

    1. 建立与测试数据库(或两个测试数据库的连接,一个是旧的,一个是新格式)。
    2. 使用连接调用迁移例程
    3. 将结果转储为字符串
    4. 将字符串与您期望的字符串进行比较
    5. 从您可以找到的最简单的迁移开始,然后从那里开始工作。