【发布时间】:2015-04-10 16:51:39
【问题描述】:
我目前正在使用 Microsoft Web 部署技术(msbuild 和 msdeploy 命令)将网站部署到服务器。该网站需要部署一个数据库,并且两者都将在同一台服务器中。我正在寻找部署数据库项目的最佳解决方案(使用命令行),我想更好地了解有关数据库部署的所有技术。
解决方案的内容(Visual Studio 2013):
- 一个数据库项目(用于 SQL Server 2008),
- 类库(NHibernate 的数据访问层)
- 一个 Web 项目 (ASP.NET MVC4)。
注意:我不是自愿在 VS 中使用持续集成/交付工具或发布方法。我对这个项目的第一个目标是了解 msbuild / msdeploy 的工作原理......
我查看了vsdbcmd 命令,它似乎完成了我想要的所有步骤......除了我需要将 Visual Studio DLL/文件导入我的远程服务器,我想知道是否没有更好的方法。 .. 我还查看了 msdeploy 提供程序dbSqlPackage/dbDacFx,但据我了解,它使用 dacpac 来应用架构更改。同样,SqlPackage.exe 似乎也使用了 dacpac。
使用 dacpac 听起来不错,但我对以下问题感到困惑:
- 这是否意味着我在第一次创建数据库时需要一个不同的进程?如果是,哪个命令最好?
- 是否可以从我的 sqlproj 文件创建 dacpac?如果是,怎么做?
根据您的经验和项目,还有其他从命令行进行部署的方法吗?部署此类项目的最佳方法是什么?
非常感谢,
【问题讨论】:
标签: deployment msdeploy vsdbcmd sqlproj sqlpackage