8

我想在现有表中删除一列。当我只是从表的创建脚本中删除它时,它会在部署时导致错误(数据丢失......)。我想允许(在这种情况下)列删除。你会怎么做?

4

2 回答 2

7

要禁用数据丢失错误:

  1. 单击架构比较文件中的选项图标。
  2. 取消选中“阻止可能的数据丢失”。

该设置将仅针对 1 个模式比较进行更改,并将保存在模式比较文件中。如果您只想这样做一次,那么您需要在删除列后重新启用该选项。

于 2013-09-26T16:09:05.983 回答
1

为此,我们创建了一个 PreDeployment 脚本来删除该列。推理是我们不想让数据库中所有对象的数据丢失。

您可以创建自动版本检查以仅执行一次此操作(有关如何使用 SSDT 自动执行此操作的步骤,请参阅我对另一篇文章Nontrivial incremental change deployment with Visual Studio database projects的回答。)

或者,您可以只将脚本提供给 devops,并在安装手册中包含说明,以便为特定版本运行一次。

发布发布后,您可以删除 PreDeployment 脚本。

于 2013-10-15T09:00:36.373 回答