批量更改数据库项目中的列默认值
Mass change column default values in database project
我有一个 Visual Studio 2013 数据库项目,我想在其中将默认值为 newid()
的所有 GUID 列更改为 newsequentialid()
。
使用以下查询来识别列:
SELECT so.name AS table_name,
sc.name AS column_name,
sm.text AS default_value
FROM sys.sysobjects so
JOIN sys.syscolumns sc ON sc.id = so.id
LEFT JOIN sys.syscomments SM ON sm.id = sc.cdefault
WHERE so.xtype = 'U'
AND sm.text = '(newid())'
ORDER BY so.[name], sc.colid
62 tables 中共有 62 列。
在 Visual Studio 中,除了一个一个地访问每个 table 定义并更改默认值之外,还有其他方法可以做到这一点吗?
查找并替换项目中的所有 *.sql 文件可以在项目中执行此操作。我会先尝试 find/replace,然后看看您是否需要以某种方式调整重构日志来处理重构。
我有一个 Visual Studio 2013 数据库项目,我想在其中将默认值为 newid()
的所有 GUID 列更改为 newsequentialid()
。
使用以下查询来识别列:
SELECT so.name AS table_name,
sc.name AS column_name,
sm.text AS default_value
FROM sys.sysobjects so
JOIN sys.syscolumns sc ON sc.id = so.id
LEFT JOIN sys.syscomments SM ON sm.id = sc.cdefault
WHERE so.xtype = 'U'
AND sm.text = '(newid())'
ORDER BY so.[name], sc.colid
62 tables 中共有 62 列。
在 Visual Studio 中,除了一个一个地访问每个 table 定义并更改默认值之外,还有其他方法可以做到这一点吗?
查找并替换项目中的所有 *.sql 文件可以在项目中执行此操作。我会先尝试 find/replace,然后看看您是否需要以某种方式调整重构日志来处理重构。