在代码中执行 Update-Database
在非开发环境中运行的应用程序通常需要数据库更新。使用 Add-Migration
命令创建数据库补丁后,需要在其他环境中运行更新,然后再运行测试环境。
通常面临的挑战是:
- 生产环境中没有安装 Visual Studio,以及
- 现实生活中没有任何连接允许连接/客户环境。
解决方法是以下代码序列,它检查要执行的更新,并按顺序执行它们。请确保正确的事务和异常处理,以确保在出现错误时不会丢失数据。
void UpdateDatabase(MyDbConfiguration configuration) {
DbMigrator dbMigrator = new DbMigrator( configuration);
if ( dbMigrator.GetPendingMigrations().Any() )
{
// there are pending migrations run the migration job
dbMigrator.Update();
}
}
MyDbConfiguration
是你的迁移设置,位于你的来源的某处:
public class MyDbConfiguration : DbMigrationsConfiguration<ApplicationDbContext>