Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 模式更改脚本:验证和测试用例_Sql_Database_Unit Testing_Testing_Deployment - Fatal编程技术网

Sql 模式更改脚本:验证和测试用例

Sql 模式更改脚本:验证和测试用例,sql,database,unit-testing,testing,deployment,Sql,Database,Unit Testing,Testing,Deployment,我编写了一个模式更改脚本,将表a中的某个列C删除到表B中。 这是我的逻辑/算法 如果表B中不存在C列,请添加它 如果表B中存在列C,则更新新添加的列值(最初将 为空)上的表A中的相应匹配值 条件A.columnZ(主键)=B.columnZ(外键) 从表A中删除列C 我也写了同样的脚本(虽然很简单)。现在,由于数据库更改非常关键,因为它将在生产数据库上运行,并且该列包含一些与用户计费信息相关的值,所以我想在部署之前对它们进行完全测试 我希望获得测试用例的建议,以验证脚本。由于这是我们第一次制作此

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

  • 如果表B中不存在C列,请添加它
  • 如果表B中存在列C,则更新新添加的列值(最初将 为空)上的表A中的相应匹配值 条件A.columnZ(主键)=B.columnZ(外键)
  • 从表A中删除列C
  • 我也写了同样的脚本(虽然很简单)。现在,由于数据库更改非常关键,因为它将在生产数据库上运行,并且该列包含一些与用户计费信息相关的值,所以我想在部署之前对它们进行完全测试

    我希望获得测试用例的建议,以验证脚本。由于这是我们第一次制作此脚本,因此在制作更改脚本时,对于可能出现的问题的任何其他建议也将不胜感激

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

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