SSDT:增量更新脚本,包括使用sqlpackage.exe的数据

时间:2016-01-27 04:12:58

标签: database sql-server-data-tools database-project dacpac sqlpackage

我有一个VST15的SSDT项目,并使用SqlPackage.exe生成部署脚本和增量更新脚本。数据库项目包含部署后脚本。这是我如何生成数据库安装的主脚本:

sqlpackage.exe 
/a:Script 
/op:"database.sql" 
/sf:"database.dacpac"
/tsn:"localhost" 
/tdn:"MyDbName" 
/p:CommentOutSetVarDeclarations="True"
/p:ScriptDatabaseCompatibility="True" 
/p:IgnoreFileAndLogFilePath="True" 
/p:IgnoreFilegroupPlacement="True" 
/p:ScriptFileSize="True" 
/p:PopulateFilesOnFilegroups="False" 

这将输出我使用 sqlcmd.exe 运行的 database.sql 文件。脚本文件还包含我的所有后期部署脚本(插入,更新等)。

一旦我有了新版本的数据库,我就会从以前拍摄的dacpac快照中创建增量更新脚本:

sqlpackage.exe 
/a:Script 
/op:"%migratePath%\%database%.!build!-%version%.sql" 
/sf:"%snapshotPath%\%database%.%version%.dacpac" 
/tf:"%snapshotPath%\%database%.!build!.dacpac" 
/tdn:"MyDbName" 
/p:CommentOutSetVarDeclarations="True" 
/p:AllowIncompatiblePlatform="True" 
/p:IgnorePermissions="True" 
/p:IgnoreRoleMembership="True" 
/p:ExcludeObjectTypes=Users;Credentials;Logins;Permissions;RoleMembership;ServerRoles;ServerRoleMembership;

这工作正常,但是,增量更新脚本不包含元数据/参考数据(例如,国家,州,货币等的列表)。

有没有办法告诉SqlPackage生成包含表引用数据的增量脚本?

0 个答案:

没有答案