我们正在设置一个测试环境来运行自动化测试。
我们希望拥有一个干净的环境,因此每次检查代码时,我们都会吹掉数据库,从头开始创建一个新的数据库,并使用.sql脚本中的数据填充它。
我想要的是,因为我很懒,所以有人可以使用更改数据库中的内容的UI进行更改,然后只需将所做的更改导出到我们可以添加的.sql脚本中创建数据库时的基本脚本。
有人知道是否有办法开始检测对数据库所做的任何更改并将其导出到sql脚本中?
我已经对此进行了基本搜索,如果存在,我一定不会搜索正确的术语。谢谢:))
答案 0 :(得分:2)
有第三方工具能够满足您的要求,特别是RedGate SQL Compare http://www.red-gate.com/products/sql-development/sql-compare/(注意,我不以任何方式与RedGate挂钩)。
除了为每个单独的表创建ON INSERT / ON DELETE / ON UPDATE CASCADE触发器之外,我真的没有看到一种巧妙的方法。
编辑:完全忘记了触发器和存储过程。它们不会被CASCADE触发器覆盖。