Saya menggunakan EF 6.0 untuk proyek saya di C # dengan migrasi dan pembaruan manual. Saya memiliki sekitar 5 migrasi pada basis data, tetapi saya menyadari bahwa migrasi terakhir buruk dan saya tidak menginginkannya. Saya tahu bahwa saya dapat mengembalikan ke migrasi sebelumnya, tetapi ketika saya menambahkan migrasi baru (tetap) dan menjalankan Pembaruan-Database, bahkan migrasi buruk pun diterapkan.
Saya mencoba untuk mengembalikan ke migrasi sebelumnya dan menghapus file dengan migrasi buruk. Tetapi kemudian, ketika saya mencoba untuk menambahkan migrasi baru, saya mendapatkan kesalahan saat memperbarui database, karena file migrasi rusak (lebih khusus, baris kode pertama mengubah nama tabel A ke B dan baris berikutnya, EF sedang mencoba untuk memperbarui tabel dengan nama A - mungkin itu adalah beberapa bug EF).
Apakah ada beberapa pertanyaan yang dapat saya jalankan, yang akan memberi tahu EF sesuatu seperti "Lupakan migrasi terakhir seperti itu tidak pernah ada, itu buruk"? Sesuatu seperti Remove-Migration.
Sunting1
Saya menemukan solusi yang cocok untuk saya. Mengubah model ke kondisi baik dan jalankan Add-Migration TheBadMigration -Force
. Ini akan mengatur ulang migrasi terakhir, bukan yang diterapkan.
Bagaimanapun, ini masih belum menjawab pertanyaan asli sepenuhnya. Jika saya UpdateDatabase ke migrasi buruk, saya tidak menemukan cara yang baik bagaimana mengembalikan dan membuat migrasi baru, kecuali yang buruk.
Terima kasih