Nội dung
Danh sách bài học
- 01~4 phút
Migration & Capstone — tổng quan
Module cuối: schema migration với Flyway, và capstone TaskFlow v2 ráp toàn bộ JPA với Postgres thật.
- 02~14 phút
Flyway core & setup — schema versioning như code
Flyway version hoá schema database: mỗi thay đổi là 1 SQL file đánh số, apply đúng 1 lần theo thứ tự, checksum bất biến sau khi apply. Bài này bóc cơ chế flyway_schema_history, naming convention V__migration, setup Boot, và baseline existing DB — cùng lý do tại sao forward-only là lựa chọn thiết kế đúng.
- 03~14 phút
Flyway patterns & CI/CD — forward-only, multi-env, repeatable, zero-downtime
Bài này đào sâu 5 pattern Flyway nâng cao: forward-only rollback (tại sao không down-migration ở prod), multi-environment seed (V100+), Java-based migration, repeatable R__ cho view/proc, và expand-contract zero-downtime. Kết nối với CI/CD pipeline và lý do chọn từng pattern.
- 04~40 phút
Mini-challenge: TaskFlow v2 — Postgres + JPA capstone
Migrate TaskFlow từ phần REST API (in-memory ConcurrentHashMap) sang PostgreSQL với Spring Data JPA. Setup Flyway, JPA entities (Project + Task + User + Comment), relationships, fix N+1, projection DTO, transactions, integration test với Testcontainers.
- 05~4 phút
Migration & Capstone — tổng kết
Tóm tắt Migration & Capstone.