Alter Table Alter Column failed because column does not exist in table hatası ve çözümü

Merhaba arkadaşlar,

Bildiğiniz üzere Entity Framework Migrations ile çalışırken, veritabanında oluşturulacak tüm tablo ve alanları SQL Server üzerinden oluşturmamıza gerek yoktur. Projemizdeki veritabanı class modellerimizde yapmış olduğumuz düzenlemleri “update-database -verbose” komutu ile veritabanına kolaylıkla aktarabiliyoruz. Bazı senaryolarda veritabanı güncellenirken “Alter Table Alter Column failed because column does not exist” hatası ile karşılaşabilirsiniz.

Bu yazımda “Alter Table Alter Column failed because column does not exist” hatası ve çözümünü sizinle paylaşmak istedim.

Alter Table Alter Column failed because column does not exist in table hatasının nedeni ilgili tabloyu veya bu tabloya ait bir kolonu manuel SQL Server üzerinden değiştirdi iseniz bu sorunla karşılaşabilirsiniz.

Çözümü ise gayet basittir.

Yaptığınız tüm değişikleri görmezden gelip, yeni bir Migration class oluşturması için aşağıdaki kodu Package Manager Console‘a giriyoruz.

Kodun çalışması tamamlandıktan sonra dikkat edeceğiniz üzere solution içerisinde Migrations klasöründe günün tarihi ve saati yazılı bir class eklendiğini göreceksiniz. Bu class’ı açarsanız, UP ve DOWN metodlarının içinin boş olduğunu yani herhangi bir düzenleme olmadan sıfır bir migration class’ı elimizde var olacak.

Hemen akabinde tekrardan Package Manager Console‘a aşağıdaki kodu yazarsanız sorunsuz bir şekilde veritabanındaki düzenlemelerin aktif olduğunu göreceksiniz.

Görsel üzerinden takip etmek isterseniz, aşağıdaki şemayı inceleyebilir, adımları takip edebilirsiniz.

Bu basit ama çözümü baş ağrıtan sorunu da sizlerle paylaşmış oldum, umarım faydalı olmuştur.

Bir sonraki yazımda görüşmek üzere, şimdilik hoşçakalın 🙂

Bir cevap yazın