SQL 服务器在 Visual Studio 线上的持续集成
Continuous Integration of SQL Server in Visual Studio Online
我正要对 SQL 服务器脚本与 VSTS 进行持续集成。我的 visual studio 2015 数据库项目中有两个脚本文件。
createStudentTable.sql
=> 简单创建 table 脚本
Script.PostDeployment1.sql
=> :r .\createStudentTable.sql (指向上面的脚本)
现在在 visual studio 在线成功构建后,我突然意识到还创建了一个 .dacpac
文件 - 看这个截图:
现在我的数据库有大约 100 个 tables + 视图和存储过程。现在这个 .dacpac
文件是否包含整个架构详细信息?如果是这样,那么在每次构建时携带这个 .dacpac
将是一个巨大的开销。
请指教
Dacpac 文件仅包含数据库的架构模型定义,不包含任何 table 数据,除非您在 postdeploymentscript.sql
中添加所有插入语句
dacpac 的开销是它在实际部署发生时比较 dacpac 中的模型和您的目标数据库。
这是一个权衡。如果您不使用 dacpac,那么您最终将自己手动完成所有数据库版本和版本迁移,或者使用其他工具来使用 ALTER 语句使这些数据库更改管理更容易一些。
顺便说一句,dacpac 可以很好地处理 100 table 的比例。
我正要对 SQL 服务器脚本与 VSTS 进行持续集成。我的 visual studio 2015 数据库项目中有两个脚本文件。
createStudentTable.sql
=> 简单创建 table 脚本Script.PostDeployment1.sql
=> :r .\createStudentTable.sql (指向上面的脚本)
现在在 visual studio 在线成功构建后,我突然意识到还创建了一个 .dacpac
文件 - 看这个截图:
现在我的数据库有大约 100 个 tables + 视图和存储过程。现在这个 .dacpac
文件是否包含整个架构详细信息?如果是这样,那么在每次构建时携带这个 .dacpac
将是一个巨大的开销。
请指教
Dacpac 文件仅包含数据库的架构模型定义,不包含任何 table 数据,除非您在 postdeploymentscript.sql
中添加所有插入语句dacpac 的开销是它在实际部署发生时比较 dacpac 中的模型和您的目标数据库。
这是一个权衡。如果您不使用 dacpac,那么您最终将自己手动完成所有数据库版本和版本迁移,或者使用其他工具来使用 ALTER 语句使这些数据库更改管理更容易一些。
顺便说一句,dacpac 可以很好地处理 100 table 的比例。