【发布时间】:2015-09-14 14:47:39
【问题描述】:
我有一个 Visual Studio 数据库项目,关于此类项目的文档似乎很少且粗略。
问题:我想重命名一列。
问题:我要重命名列的表中有数据,所以每次我生成脚本时,我都会得到这段代码,导致脚本因为表中有数据而崩溃。
IF EXISTS (select top 1 1 from [dbo].[res_file_submission])
RAISERROR (N'Rows were detected. The schema update is terminating because data loss might occur.', 16, 127) WITH NOWAIT
我不知道如何解决这个问题,我真的不相信删除这一行是答案,我已取消选择“如果可能发生数据丢失,则阻止增量部署”选项,但这似乎又没有区别。
更新:该列有一个约束,这似乎是原因。
【问题讨论】:
-
您是否突出显示了该列并对其进行了重构重命名(Ctrl+R,默认为 R)?那应该只是在列和相关对象上发出一个 sp_rename ,而不会给您带来太多的悲伤。听起来好像您的脚本正在尝试重新创建表或类似的东西。当您选择生成脚本时,实际的脚本是什么样的?
-
只是为了放大这个响应,当您使用重构时,每个更改的条目都会添加到 refactor.log 文件中——这会触发 sp_rename,如果没有它,它将删除旧列。
标签: visual-studio-2013 database-project