有一个简单的方法来添加自定义脚本迁移到SQL脚本比较?
题
在我的工作中,我们目前有一些严重的痛苦推动整个环境我们的数据库更改。这个问题开始出现,当我们在现有的表中创建一个新的非空列。该SQL比较生成的脚本创建列非空的,所以它总是会失败。我希望有一些替代不必手动编辑脚本。有没有什么办法来解决这个问题?如果没有,你们怎么处理呢?
解决方案
创建表:
create table #bingo ( id int )
添加值:
insert into #bingo values (1)
添加新的列:
alter table #bingo add userid int
填充新的列:
update #bingo set userid = 1 where id = 1
更改新列不可为空:
alter table #bingo alter column userid int not null
您必须手动编辑展鹏的SQL比较使它像这样的工作。
其他提示
你计划如何在填充NOT NULL列?我不知道怎样SQL比较能真正拿出一个解决方案,因为它没有办法知道你将如何填补它的方式。
您可以创建一个默认列,则只需在生成的脚本的末尾添加一个更新语句,如果你有一定的来源值正确更新列。
添加默认到新的非空列强>
创建一个新的NOT NULL列时,不要所有现有行得到了什么价值?如果你不知道,使列可为空。
不隶属于 StackOverflow