Migration Yönetimi
Bir migration oluşturulmadan önce proje için bir ortam değişkeni seçilmelidir. Ortam değişkeni seçimi aşağıdaki komut setleri kullanılarak yapılır. (Ortam değişkenleri ve Connection String yönetimi detayı için bkz. Web Api Projesini Çalıştırma)
(Veri Tabanı Seçimi ve Yapılandırması için bkz. Veri Tabanı Seçimi ve Yapılandırması)
DevArchitrecture ile Migration Yönetimi için iki tip ortam değişkeni bulunmaktadır bunlar;
Staging
Production
Yukarıda belirtilen ortam değişkenleri için migration yapılacaksa seçim yapılarak aşağıdaki komut örnekleri çalıştırılır.
$env:ASPNETCORE_ENVIRONMENT='Staging'
$env:ASPNETCORE_ENVIRONMENT='Production'
#
PostgreSqlPostgreSql üzerinde migration çalıştırmak için sırasıyla aşağıdaki komutlar çalıştırılır.
#
IDE üzerinden MigrationEğer IDE'den örneğin Staging'e migration yapılacaksa
- WebAPI projesi tanımlanmamışsa projenin üzerinde sağ tıklanarak Set as Startup Project olarak tanımlanır.
- Visual Studio 2019 View -> Other Windows menüsünden Package Manager Console ekranı açılır.
- Default Project DataAccess projesi seçilir ve aşağıda bulunan komutlar bu ekran üzerinde çalıştırılır.
$env:ASPNETCORE_ENVIRONMENT='Staging'
Add-Migration InitialCreate -Context ProjectDbContext -OutputDir Migrations/Pg
$env:ASPNETCORE_ENVIRONMENT='Staging'
Update-Database -context ProjectDbContext
#
Alternatif olarak komut satırı üzerinden migrationdotnet ef migrations add InitialCreate --context ProjectDbContext --output-dir Migrations/Pg
#
MsSqlMicrosoft Sql Server üzerinde migration çalıştırmak için sırasıyla aşağıdaki komutlar çalıştırılır.
#
IDE üzerinden MigrationEğer IDE'den örneğin staging'e migration yapılacaksa
- WebAPI projesi tanımlanmamışsa projenin üzerinde sağ tıklanarak Set as Startup Project olarak tanımlanır.
- Visual Studio 2019 View -> Other Windows menüsünden Package Manager Console ekranı açılır.
- Default Project DataAccess projesi seçilir ve aşağıda bulunan komutlar bu ekran üzerinde çalıştırılır.
$env:ASPNETCORE_ENVIRONMENT='Staging'
Add-Migration InitialCreate -context MsDbContext -OutputDir Migrations/Ms
$env:ASPNETCORE_ENVIRONMENT='Staging'
Update-Database -context MsDbContext
#
Alternatif olarak komut satırı üzerinden migrationdotnet ef migrations add InitialCreate --context MsDbContext --output-dir Migrations/Ms
#
OracleOracle üzerinde migration çalıştırmak için sırasıyla aşağıdaki komutlar çalıştırılır.
#
IDE üzerinden MigrationEğer IDE'den örneğin staging'e migration yapılacaksa
- WebAPI projesi tanımlanmamışsa projenin üzerinde sağ tıklanarak Set as Startup Project olarak tanımlanır.
- Visual Studio 2019 View -> Other Windows menüsünden Package Manager Console ekranı açılır.
- Default Project DataAccess projesi seçilir ve aşağıda bulunan komutlar bu ekran üzerinde çalıştırılır.
$env:ASPNETCORE_ENVIRONMENT='Staging'
Add-Migration InitialCreate -context OracleDbContext -OutputDir Migrations/Ora
$env:ASPNETCORE_ENVIRONMENT='Staging'
Update-Database -context MsDbContext
#
Alternatif olarak komut satırı üzerinden migrationdotnet ef migrations add InitialCreate --context OracleDbContext --output-dir Migrations/Ora
#
Not:Kırmızı ile işaretlenen komut alanları her kullanımda değişiklik yapılması beklenen alanlardır.
Mavi ile işaretlenen yerler şeçimli olarak değişiklik yapılması beklenen alanlardır.
author: Kerem VARIŞ