來自asp.net webforms切換到mvc和實體框架代碼第一種方法我現在有一個問題。我如何設置我的環境以部署到生產環境?如何使用實體框架代碼優先部署到生產
我使用Visual Studio 2012並部署了web部署包。在本地我有SQL Express,在生產中我有SQL Server 2008.
我想在我的個人電腦本地開發一個測試,並不時將我的解決方案用web部署包部署到生產環境中。我不想在生產系統中運行遷移,而是想從Visual Studio生成腳本,然後我可以將它添加到生產SQL中。
我想:
- 創建開發初始遷移。
- 更新數據庫本地
- 生成腳本,更新數據庫-script -sourcemigration:InitialCreate
- 應用此腳本在生產
- 將應用程序部署到生產
這是正確的做法?我的遷移將在本地運行,那麼當我部署遷移代碼時,它們不會投入生產嗎?
在Global.asax中
Migrator.RunMigrations();
其中RunMigrations是一個自定義的遷移類這樣
public class Migrator
{
public static void RunMigrations()
{
var migrator = new Configuration();
var dbMigrator = new System.Data.Entity.Migrations.DbMigrator(migrator);
if (dbMigrator.GetPendingMigrations().Any())
{
dbMigrator.Update();
}
}
}