【发布时间】:2021-11-06 00:22:30
【问题描述】:
我在 SQL Server 上创建了一个表,其中包含最少的列,其中包含数据。
现在我必须使用每次部署完成时运行的 create table 命令维护一个 SQL 脚本。所以我正在检查表是否已经存在,如果不存在,我创建表 -
IF NOT EXISTS (SELECT *
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_NAME = 'TestTable')
CREATE TABLE TestTable (
col1 INT,
col2 INT
);
如果我希望表的架构经常更改,我如何轻松维护此脚本以允许更改表,而无需手动执行命令。
理想的解决方案是对表使用 CREATE OR ALTER。但最好的选择是什么?
【问题讨论】:
-
“如果我希望表的架构经常更改” 这本身就是一个缺陷;表的定义不应该不断变化。
-
我建议你开始使用 Visual Studio 数据库项目。这些会自动生成正确的更改脚本并跟踪更改。 stackoverflow.com/questions/60511228/…
-
@Larnu,虽然这对于瀑布式 SDLC 来说可能是正确的,但频繁的模式更改在敏捷世界中很常见,尤其是在开发环境中。这需要策略、CI/CD 流程和工具。
标签: sql sql-server tsql create-table alter-table