据我所知,我只能通过Visual Studio Package Console将迁移脚本应用到数据库。但是,如果我需要将我对数据库所做的最新更改的脚本部署到我无法通过visual studio访问的生产数据库,该怎么办?有没有办法将.cs迁移脚本转换为可以直接通过SQL Server应用的.sql脚本?或者是否有将数据库更新部署到生产数据库的替代方法?
答案 0 :(得分:1)
有一个名为Migrate.exe
的程序(它应放在你的包文件夹中),应由CI系统中的某些部署脚本使用(jenkins / teamcity / visualstudioonline)
当您使用NuGet安装Entity Framework时,migrate.exe将会是 在下载的包的tools文件夹中。在\ packages \ EntityFramework。\ tools
中迁移后,您需要将其复制到的位置 包含迁移的程序集。
你不应该考虑从视频中进行迁移
对于.NET CORE
,您只需使用命令:
dotnet ef migrations script --output "script.sql" --context MY_DBCONTEXT
上下文可以是您的localdb,但 HAS TO 与生产数据库处于相同的迁移状态,控制台版本中有很多配置,所以你应该能够谷歌一个而不是上下文你可以放一个连接字符串。