开发完成后,TFS(VSTS)接管。构建成功完成,工件目录通过构建定义包含已发布的网站。然后触发发布管理器,接管并在环境中创建网站,将网站文件复制到环境并启动网站。到目前为止一切都很好。
此处缺少数据库迁移步骤......
现在有人启动服务器并且由于尚未迁移数据库而失败。我们怎么做? EF Tools没有被复制到那个环境,实际上我们甚至无法运行dotnet.exe,因为核心sdk还没有被部署到那个环境中。所以即使我们有工具,我们也无法执行它们。
在EF 6.x中很容易因为我们可以将migrate.exe复制为工件的一部分,并在复制文件后在环境中运行它。据我了解,EF Tools现在是一个必须由dotnet.exe运行的DLL(ef.dll)。这是否意味着所有Web服务器现在都需要Core SDK来执行迁移?
有关我的项目设置的其他详情: 将asp.net.core应用程序部署到QA服务器上进行测试。这不是开发盒,没有安装VS2015,没有安装Core SDK。
这解决了安装“dotnet.exe”的要求。我可以像使用migrate.exe一样将其复制到工件中。这是EF团队提出的解决方案吗?
答案 0 :(得分:0)
要在服务器上运行.NET Core Web应用程序,您需要在服务器上安装.NET Core SDK(当前为1.1)。这样做会为您提供delete
命令,以便您可以在服务器环境中执行dotnet
以将数据库更新为指定的迁移。
答案 1 :(得分:0)
EF.EXE是preview3和4的一部分。
这解决了" dotnet.exe"的要求。正在安装。我可以像使用migrate.exe一样将其复制到工件中。这是EF团队提出的解决方案吗?
是。这样做。
另请参阅问题#6313,我们希望在.NET Core上使这种体验更容易。