Lesson 4: Prisma Migrate — Quản lý Database Schema
📋 Agenda
Thời gian đọc ước tính: ~18 phút
Sau bài này, bạn sẽ:
- ✅ Hiểu Prisma Migrate hoạt động như thế nào bên dưới (SQL generation engine)
- ✅ Phân biệt rõ
migrate dev(development) vàmigrate deploy(production/CI) - ✅ Giải thích Shadow Database là gì và tại sao Prisma cần nó
- ✅ Đọc được bảng
_prisma_migrationsđể trace lịch sử migration - ✅ Nhận biết các hạn chế của Prisma Migrate trong dự án phức tạp
Yêu cầu đầu vào (Prerequisites):
- 🔹 Đã hoàn thành Lesson 1 (hiểu
schema.prisma) - 🔹 Hiểu cơ bản về database migration concept
❓ Vấn đề & Giải pháp
Vấn đề (Problem Statement):
- Khi schema thay đổi (thêm cột, đổi kiểu dữ liệu), cần đồng bộ database theo cách an toàn, có thể rollback
- Migration viết thủ công dễ sai, không có validation trước khi áp dụng
- Không biết database hiện tại đang ở phiên bản nào, migration nào đã chạy
Giải pháp (Solution): Prisma Migrate tự động:
- Phát hiện thay đổi giữa
schema.prismavà trạng thái database hiện tại - Sinh ra file SQL migration (readable, reviewable, committable vào Git)
- Track lịch sử migration qua bảng
_prisma_migrations - Validate migration an toàn qua Shadow Database trước khi apply thật