0

我编写了一个模式更改脚本,将某个列 C 从表 A 删除到表 B。这是我的逻辑/算法,

  1. 如果表 B 中不存在 C 列,则添加它。
  2. 如果表 B 中存在列 C,则在条件 A.columnZ(Primary_Key) = B.ColumnZ(Foreign_key) 下,将新添加的列值(最初为空)更新为表 A 中的相应匹配值。
  3. 从表 A 中删除列 C。

我已经编写了相同的脚本(虽然是一个简单的脚本)。现在,由于数据库更改非常关键,因为它将在生产数据库上运行,并且该列包含一些与用户的计费信息相关的值,我想在部署之前对它们进行完全测试。

我想获得有关测试用例验证脚本的建议。因为,这是我们第一次制作这个脚本,任何其他关于制作更改脚本时潜在问题的建议,也将不胜感激。

4

1 回答 1

1

我使用dbunit来测试数据库脚本。这是一个非常好的工具,但可能过于以 Java 为中心。你可以用谷歌搜索其他语言的类似工具。

我个人使用liquibase来管理对我的数据库模式的所有更改。通过将数据库置于已知状态,它大大降低了数据库迁移的复杂性。我不必测试列可能存在或不存在的条件,因为整个架构实际上处于修订控制之下。对数据具有破坏性的数据库重构操作总是很难测试。使用像 liquibase 这样的工具的真正优势在于,设置类似生产的测试系统变得微不足道。

于 2013-08-25T09:43:47.323 回答