我有一个SQL Server Database Project in Visual Studio 2013,有几个;
我现在将保留表和存储过程,并专注于PostDeployment脚本,因为我觉得这些是我的问题最有趣的。
比如说我想删除以前由bug引起的一些数据。现在错误已经修复,但我想通过删除“错误”信息将数据库设置为更好的状态。我需要的是只执行一次的脚本。使用更改脚本方法,这将是微不足道的,但我找不到这种类型的数据库项目的解决方案。
PostEeployment脚本在每次部署之后执行,这意味着我实际上无法对此处的实际数据进行任何有意义的一次更改。
我可以在scipt中包含IF
语句,以便在进行更改之前检查数据,防止它被多次执行,但我更愿意依赖这些工具而不是用户编写的IF
语句。
我觉得我的用例相当简单,但我无法找到解决方案。我该如何处理?感谢所有提示!
答案 0 :(得分:0)
归功于Pieter Geerkens:
编写一个幂等脚本 - 开发人员定期执行此操作 准确管理您描述的问题。
这似乎是通往的方式。我最初不想采用这种方法的原因是因为将在每次发布时执行脚本。在某些将来,如果数据再次满足条件,数据可能会再次被更新/删除/删除,我宁愿这不会发生。
供参考:Idempotent