-->

AppHarbor一步构建和如何部署我的数据库[关闭](AppHarbor one step bui

2019-09-22 04:52发布

我终于在我的解决方案确实是真实需要它的构建步骤一切的地步:

  • 下载NuGet包。
  • 部署数据库(只有当它现在还没有)。
  • 生成解决方案。
  • 运行任何升级脚本(只需一次,数据库会跟踪这些)。
  • 运行单元测试。
  • 成功。

这个工程在当地的各种奇观。

现在,我想我会结合我的GitHub与库AppHarbor ,因为CI对我来说是一个合乎逻辑的步骤。

问题是,该数据库正在建立分为两个步骤:

  • dbproj构建,产生.dbschema
  • 我的数据库升级程序(体育及其所有DbUp迷死)构建,具有BeforeBuild目标,其构建并部署dbprojAfterBuild目标,其自执行数据库升级程序,更新与那些尚未运行任何SQL脚本架构。

问题是AppHarbor构建服务器失败的.dbproj项目,因为需要SqlTasks.target在他们的服务器配置中缺少。

我想速战速决手动添加目标(与它依赖于一些其他目标一起),而产生的错误,我不能让过去:

该“SqlBuildTask”任务无法从组件Microsoft.Data.Schema.Tasks.Sql装[...]

挖了一下,我发现显然你不能建立.dbproj对环境的项目不具有任何VS也不TFS安装它们。

我应该怎么做? 我可能有几种选择:

  • 手动连接到数据库AppHarbor并运行在我对新的生产数据库的开发环境中生成的部署脚本。
    这一种的失败一步到位建设的目的。

  • 而不是使用的.dbproj数据库项目,只包括在所有基本安装表DbUp “升级程序”。 这有两个问题,虽然他们可能可以解决。 第一个是,我应该由我自己来创建数据库,第二个是, log4net我使用登录数据库升级进程表将由进程本身,这是各种错误的,我的书被创建。

  • 使用一些自定义的数据库项目的解决方案,我可以没有这个问题,部署数据库。
    我真的不知道任何像这样的解决方案,做任何存在,他们是可靠的?

意见,部署物品,或任何建议,欢迎,一个快速的黑客攻击,使.dbproj建立在AppHarbor也就够了。

最后,是不是太牵强问AppHarbor包括TFS和/或VS在他们构建服务器,构建.dbproj项目听起来很合理的构建服务器做的,对不对?

文章来源: AppHarbor one step build and how to deploy my database [closed]