Migration öncesinde yapılması gerekenleri BU MAKALEMDE bulabilirsiniz.
Bu projede DATA, ENTİTY, WEB olmak üzere 3 katman kullandım. Tabiki siz bu katmanları çoğaltabilirsiniz veya tek katmanda yapabilirsiniz. Sizin tercihiniz. Ben migration işlemini Web katmanına yapacağım.
Core da migration işlemi bazı komutlarla yapılıyor ve buda Windows'un komut Satırı (CMD), powershell ve bir çok komut yazabileceğiniz programlarla yapabilirsiniz. Aslında hepsi işimizi görecektir. Kodları hepsinde kullanabilirsiniz.
Web katmanının üzerine gelip sağ tıkladığınızda altta Open Command Line seçeneğine geldiğinizde bir menü açılır buradaki seçeneklerde hangisini isterseniz kullanabilirsiniz. Ben windowsun komut satırının (CMD) siyah ekranından bıktığım için PowerShell uygulamasını kullanacağım.
Resimde de göreceğiniz gibi uygulamaların kısa yolları var. Bunu kullanmanın yöntemi, web katmanının üzerine gelip bir kere tıklayıp ardından shift + alt + . tuşlarına aynı anda basarsanız PowerShell açılacaktır.
Uygulama açıldığında ekrandaki yolun projenin olduğu yol olduğuna dikkat etmeniz gerekiyor. Zaten doğru yol geliyor ama ben garanti olsun diye hep kontrol ederim.
dotnet tool install --global dotnet-ef
Uygulamaya yukarıda görülen kodu yazıp enter'a basmanız yeterli olacaktır. Bu tool projenizin migration yapması için gereken framework'leri ekler.
Eğer tool yüklendiyse yeşil olarak successfully installed yazacaktır.
Core da migration 2 adımla yapılmaktadır. 2 adımı da bitirmeden powershell i kapatmayın. Kapattığınız takdirde powershell i açarak kaldığınız yerden devam edebilirsiniz.
dotnet ef migrations add initialCreate
1. Adım powershell i daha önce belirttiğim gibi açın ve migration oluşturmak bunun için yukarıdaki kodu yazın. Bu kod migration oluşmasını sağlar.
Burada add den sonraki yazılan migration ismidir, buraya istediğinizi yazabilirsiniz. Eğer ilk defa migration oluşturuyorsanız standart olarak migration ismi olarak initialCreate yazılıyor. Bizde standarda uyalım. Elbette siz değiştirebilirsiniz.
Bu Kodu Çalıştırdıktan sonra Build succeeded yazıyorsa migration oluşmuş demektir.
Migration bitince web katmanının altında Migrations klasörü oluşur.
dotnet ef database update
2. Adım ise database de tabloları oluşturmak için yukarıdaki komutunu yazmanız yeterli.
Komutu çalıştırdığınızda eğer Build succeeded yazıyorsa veritabanınızda tablolarınız oluşmuş demektir. Son olarak ta Veritabanını kontrol etmeniz gerekecektir.
Migration işlemi bu kadar.
EĞER PROJENİZDE İKİNCİ BİR MİGRATİON OLUŞTURMAK İSTERSENİZ İKİNCİ MİGRATİON NASIL OLUŞTURULUR YAZIMI OKUYABİLİRSİNİZ.
NOT: Bu bilgileri yazarken aynı zamanda da proje üzerinde kontrol ederek yazdım. Sorunsuz şekilde çalışmaktadır.