我使用的是mssqlserverdb,并且使用了大量的视图(用于O/R映射器)。有点烦人的是我想
但遇到这样一个问题:每当我想(例如)向表中添加列时,我必须首先删除引用该表的所有视图,更新该表,然后重新创建视图,即使这些视图不需要以其他方式更新。这使得我的更新脚本更长,而且,查看源代码管理系统中的差异,很难看到实际的相关更改是什么。
我仍然需要能够使用简单的和源代码可控的sql更新。SQLServerManagementStudio中包含的类似的代码生成器可能会有所帮助,但我在SQLServerManagementStudio中遇到了一些问题,因为它倾向于创建不指定某些索引或(默认)约束名称的代码。但是,当我在不同的系统上运行脚本时,我希望有相同的dbs,包括所有约束的名称等,这样以后更新这些约束时就不必跳过循环。
-
键入
alter table
-
检查是否有错误语句,如“
cannot ALTER 'XXX' because it is being referenced by object 'YYY'
."
-
使用SQL Server Management Studio编写脚本
create
引用对象的代码
-
插入
drop
alter语句之前的语句和create语句之后的语句
-
滴
这让我很恼火,但是如果我想继续使用schemabinding和脚本更新的话,也许我不得不接受它。。。