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