在Visual Studio 2017上开发软件时,我正在使用EF Code First迁移。开发工作和数据库迁移在本地数据库上执行。
当需要将新的数据库版本部署到生产环境时,我无法从Visual Studio环境直接访问生产数据库。
使用以下过程更新远程生产数据库(支持EF Code First迁移)在技术上是否正确:
1)从PRODUCTION数据库生成纯模式的数据库脚本,说“ prod_v1.sql”
2)使用“ prod_v1.sql”在本地数据库上创建一个名为“ PROD_V1”的新数据库
3)在本地计算机上,对PROD_V1使用“ update-database -script”来生成迁移脚本“ migrate_v1_to_v2.sql”
4)在PRODUCTION计算机上,使用SQL Server Management Studio并在查询窗口中执行迁移脚本“ migrate_v1_to_v2.sql”。
让我怀疑这是否可行的唯一原因是迁移脚本中的“ INSERT INTO __MigrationHistory”语句。迁移脚本是否“可移植”,即可以在已启用迁移历史记录的任何数据库实例上运行迁移脚本?