如何仅从 SQL Server 数据库项目修改一次实际数据



我在Visual Studio 2013中有一个SQL Server数据库项目,有几个;

  • 存储过程
  • 一些部署后脚本

我现在将离开表和存储过程,并专注于部署后脚本,因为我觉得这些是我的问题最有趣的脚本。

例如,我想删除一些以前由错误引起的数据。现在该错误已修复,但我想通过删除"错误"信息将数据库设置为更好的状态。我需要的是永远只执行一次的脚本。使用更改脚本方法,这将是微不足道的,但我找不到此类数据库项目的解决方案。

部署后

脚本在每次部署后执行,这意味着我无法在此处对实际数据进行任何有意义的一次性更改。

我可以在 scipt 中包含一条 IF 语句,以便在进行更改之前检查数据,防止多次执行,但我更愿意依赖工具而不是用户编写的 IF 语句。

我觉得我的用例相当简单,但我找不到解决方案。我该如何处理这个问题?感谢您的所有提示!

感谢 Pieter Geerkens:

编写一个幂等脚本 - 开发人员定期执行此操作以 准确管理您描述的问题。


这似乎是办法。我一开始不想采用这种方法的原因是因为它会在每次发布期间执行脚本。将来,如果数据再次满足条件,数据可能会再次更新/删除/删除,我希望这种情况不会发生。

供参考:幂等

最新更新