我有一个 SSDT 项目。发布新版本时,我还想发布/初始化数据库中的一些数据。可以使用 SSDT 完成吗?
问问题
1024 次
4 回答
4
可以做到,但可能很棘手。如果您在项目中设置了一个可用于“新”版本的变量,则可以将其作为运行一系列插入的部分放在部署后脚本中,但仅适用于“新”类型。
正如大卫所提到的,更好的方法可能是使用类似 Red-Gate 的数据比较或在创建数据库后运行脚本。可以在部署后脚本中执行此操作,但可能会很棘手。
像这样的东西可以工作:
IF '$(DeployType)' = 'New'
BEGIN --"New" release scripts
PRINT 'Post-Deploy Scripts for release.'
:r .\InsertScript1.sql
:r .\InsertScript2.sql
--etc
END --"New" release scripts
于 2013-05-01T20:56:26.687 回答
1
当它们被放置在项目的特定子文件夹中时,我们会自动包含合并脚本。
于 2015-05-13T07:30:35.250 回答
0
根据您的工作,表值的 custructors 可能值得一看:
SELECT *
FROM
(VALUES
(101, 'Bikes'),
(102, 'Accessories'),
(103, 'Clothes')
) AS Category(CategoryID, CategoryName);
SSDT 可以轻松地传输和比较这些数据。
矿石信息见https://www.simple-talk.com/sql/sql-training/table-value-constructors-in-sql-server-2008/
于 2016-04-23T23:47:30.510 回答