9

Kodumun ilk geçişi gereken dört farklı veritabanına sahibim. Ben İdeal bir komut dosyası gibi bir şey yukarıda koymak mümkün olmak ister ve bir aday olacağını ancak geçişi gerçekleştirmek için Paket Yöneticisi konsolunda yukarıdakilerin her birini çalıştırmak için gereken Şu andaTek seferde çoklu veritabanı geçişi

-- Enabling migrations 
Enable-Migrations -StartUpProjectName SampleProject -MigrationsDirectory Migrations\DB1Configuration -ContextTypeName DB1ConfigurationDbContext -ContextAssemblyName SampleProject -ConnectionStringName MyDbContext1 

Enable-Migrations -StartUpProjectName SampleProject -MigrationsDirectory Migrations\DB2Configuration -ContextTypeName DB2ConfigurationDbContext -ContextAssemblyName SampleProject -ConnectionStringName MyDbContext2 

Enable-Migrations -StartUpProjectName SampleProject -MigrationsDirectory Migrations\DB3Configuration -ContextTypeName DB3ConfigurationDbContext -ContextAssemblyName SampleProject -ConnectionStringName MyDbContext3 

Enable-Migrations -StartUpProjectName SampleProject -MigrationsDirectory Migrations\DB4Configuration -ContextTypeName DB4ConfigurationDbContext -ContextAssemblyName SampleProject -ConnectionStringName MyDbContext4 

-- Addning migrations 

Add-Migration -StartUpProjectName SampleProject -Name InitialCreate -ConfigurationTypeName SampleProject.Migrations.DB2Configuration.Configuration -ConnectionStringName MyDbContext1 

Add-Migration -StartUpProjectName SampleProject -Name InitialCreate -ConfigurationTypeName SampleProject.Migrations.DB1Configuration.Configuration -ConnectionStringName MyDbContext2 

Add-Migration -StartUpProjectName SampleProject -Name InitialCreate -ConfigurationTypeName SampleProject.Migrations.DB3Configuration.Configuration -ConnectionStringName MyDbContext3 

Add-Migration -StartUpProjectName SampleProject -Name InitialCreate -ConfigurationTypeName SampleProject.Migrations.DB4Configuration.Configuration -ConnectionStringName MyDbContext4 

--Create the database 

Update-Database -StartUpProjectName SampleProject -ConfigurationTypeName SampleProject.Migrations.DB2Configuration.Configuration -ConnectionStringName MyDbContext1 

Update-Database -StartUpProjectName SampleProject -ConfigurationTypeName SampleProject.Migrations.DB1Configuration.Configuration -ConnectionStringName MyDbContext2 

Update-Database -StartUpProjectName SampleProject -ConfigurationTypeName SampleProject.Migrations.DB3Configuration.Configuration -ConnectionStringName MyDbContext3 

Update-Database -StartUpProjectName SampleProject -ConfigurationTypeName SampleProject.Migrations.DB4Configuration.Configuration -ConnectionStringName MyDbContext4 

: Aşağıdaki düşünün yukarıdaki işlemi gerçekleştirmek için tek komut. Bu mümkün mü (birden fazla veritabanını tek seferde taşıyor)? Örnek verebilir misiniz lütfen?

cevap

4

Bunun için bir güç kabuğu komut dosyası kullanabilirsiniz.
Tüm komutlarınızı metin dosyasına kopyalayın, argümanlar atayın ve kullanın, uzantıyı ps1 olarak ayarlayın ve çözüm kök klasörüne kaydedin.
Örnek UpdateAllDatabases.ps1.

Şimdi
$migrationName = $args[0] 
Enable-Migrations -StartUpProjectName SampleProject -MigrationsDirectory Migrations\DB1Configuration -ContextTypeName DB1ConfigurationDbContext -ContextAssemblyName SampleProject -ConnectionStringName MyDbContext1 
... 
Add-Migration -StartUpProjectName SampleProject -Name $migrationName -ConfigurationTypeName SampleProject.Migrations.DB2Configuration.Configuration -ConnectionStringName MyDbContext1 
... 
Update-Database -StartUpProjectName SampleProject -ConfigurationTypeName SampleProject.Migrations.DB1Configuration.Configuration -ConnectionStringName MyDbContext1 

sadece

arayarak Paket Yöneticisi Konsolu çalıştırabiliriz \ UpdateAllDatabases.ps1 InitialCreate

0

İlk Git etkinleştir -Proje için Göç, Bundan sonra

Add-Migration -ConfigurationTypeName Sample_Project.Migrations.ApplicationDbContext.Configuration "InitialDatabaseCreation" 


Update-Database -ConfigurationTypeName Sample_Project.Migrations.Project_SystemContext.Configuration 

Dbcontext adını projeniz olarak değiştirin, Birden Fazla Geçiş için Aynı Kod ...