Ana içeriğe geç

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'

PostgreSql#

PostgreSql üzerinde migration çalıştırmak için sırasıyla aşağıdaki komutlar çalıştırılır.

IDE üzerinden Migration#

Eğer IDE'den örneğin Staging'e migration yapılacaksa

  1. WebAPI projesi tanımlanmamışsa projenin üzerinde sağ tıklanarak Set as Startup Project olarak tanımlanır.

  1. Visual Studio 2019 View -> Other Windows menüsünden Package Manager Console ekranı açılır.

  1. 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 migration#

dotnet ef migrations add InitialCreate --context ProjectDbContext --output-dir Migrations/Pg

MsSql#

Microsoft Sql Server üzerinde migration çalıştırmak için sırasıyla aşağıdaki komutlar çalıştırılır.

IDE üzerinden Migration#

Eğer IDE'den örneğin staging'e migration yapılacaksa

  1. WebAPI projesi tanımlanmamışsa projenin üzerinde sağ tıklanarak Set as Startup Project olarak tanımlanır.

  1. Visual Studio 2019 View -> Other Windows menüsünden Package Manager Console ekranı açılır.

  1. 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 migration#

dotnet ef migrations add InitialCreate --context MsDbContext --output-dir Migrations/Ms

Oracle#

Oracle üzerinde migration çalıştırmak için sırasıyla aşağıdaki komutlar çalıştırılır.

IDE üzerinden Migration#

Eğer IDE'den örneğin staging'e migration yapılacaksa

  1. WebAPI projesi tanımlanmamışsa projenin üzerinde sağ tıklanarak Set as Startup Project olarak tanımlanır.

  1. Visual Studio 2019 View -> Other Windows menüsünden Package Manager Console ekranı açılır.

  1. 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 migration#

dotnet 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Ş