วิธีทำ Migration และ Update Database
บทความนี้จะมาเล่าการทำ Migration กับ Entity Framework ASP.NET MVC application
การทำ Migration จะเกิดขึ้น หลังจากมี Database อยู่แล้ว และ Database ต้องการ การ Update Schema หรือ Data ใน Database
วิธีการทำ Migration ตั้งแต่เริ่มด้วยโปรแกรม Visual Studio
- เลือกเมนู Tools > NuGet Package Manager > Package Manager Console
2. เมื่อเลือกจะขึ้นหน้าต่าง Package Manager Console ข้างล่างของหน้าจอ
3. หลังจากนั้น คลิกขวาที่ Web.API เลือก Set as StartUp Project
4. เลือก Default Project เป็น Repository ที่เก็บ dbContext สำหรับใช้ Run คำสั่ง Migration และพิมพ์คำสั่ง
enable-migrations
เพื่อเปิดการใช้งาน Migration กับ dbContext นี้
5. เมื่อเปิดใช้งาน Migration แล้ว จะเกิด Database ที่ __MigrationHistory เกิดขึ้นอัตโนมัติ
เมื่อเราเปิดใช้งาน Migration
- เราสามารถใช้คำสั่ง
add-migration firstMigration
เพื่อเพิ่ม Migration ใหม่ (พิมพ์คำสั่ง add-migration ตามด้วยชื่อ Migration ที่ต้องการตั้งชื่อ)
2. จะได้ Class Migration ขึ้นมา สามารถพิมพ์คำสั่ง update SQL ได้ใน Method Up และ Down
3. เมื่อเตรียม Code สำหรับทำ Migration พร้อมแล้ว ก็พิมพ์คำสั่ง
update-database
เพื่อสั่งให้ Update Schema หรือ Data ของ Database ตามที่เราเขียน Code Migration เอาไว้
4. เมื่อเรา Update Database เสร็จเรียบร้อย จะสังเกตเห็นว่าข้อมูลใน Table __MigrationHistory จะมี record ที่บันทึก Migration ใหม่ที่เราเพิ่มเข้าไปโดยอัตโนมัติ
** เพิ่มเติม ถ้าเราใช้คำสั่งเกี่ยวกับ Migration ไม่ได้ ต้องเปิดหน้าต่าง Nuget ขึ้นมาและทำการ Update Entity Framework เป็น Version ล่าสุด จะสามารถใช้ Migration ได้ขั้นตอนครับ
- เลือก Tools > NuGet Package Manager > Manage NuGet Package for Solution…
2. เลือก Tab Updates และ Update Entity Framework ให้เป็น Version ล่าสุด