我开始使用数据库项目并在简单的任务中苦苦挣扎。如果我想添加一个NOT NULL
的新列,如果表中已有数据,如何才能使其生效?
我曾经写过差异脚本,在这种情况下我会编写类似的东西:
-- ... ADD COLUMN X ...
-- insert data into x
-- ... ALTER COLUMN X NOT NULL
我如何使用数据库项目处理此类案例?
任何tipps的Thx sl3dg3
答案 0 :(得分:5)
我终于找到了两种可能的方法。简而言之:
或者
在此处找到:http://social.msdn.microsoft.com/Forums/en-US/vstsdb/thread/49bf2a88-d80d-4a9f-970e-728bd530332e/
两者都意味着额外的工作,我希望从这个常见案例的框架中获得更多支持。但至少可以这样做。
答案 1 :(得分:2)
您也可以从Publish DB对话框中指定列的DEFAULT值;进入Advanced-> Advanced Deployment Options并选中“Generate Smart Defaults”框。
从VS中的描述: 生成智能默认值:更新包含不允许空值的列的数据的表时自动提供默认值。
答案 2 :(得分:0)
您可以在创建列时通过提供一些默认值来添加非空列。