Flyway quản lý schema migration dạng versioned SQL file — audit trail, schema reproducible mọi môi trường. Thêm dependency flyway-core là Spring Boot tự tích hợp (từ Flyway 10 / Boot 3.2+, Postgres/MySQL cần thêm module riêng, vd flyway-database-postgresql).
Quy ước: script đặt ở src/main/resources/db/migration/, tên V{version}__{description}.sql — vd V1__create_users_table.sql, V2__add_email_index.sql. Nội dung là SQL thuần (CREATE TABLE ...).
Auto-run khi startup: Flyway apply mọi migration pending theo thứ tự version, lưu trạng thái (version, checksum, thời điểm) vào bảng flyway_schema_history — biết chính xác migration nào đã chạy.
Config đáng nhớ: spring.flyway.baseline-on-migrate: true (khi DB đã có schema từ trước), validate-on-migrate: true (checksum lệch → fail sớm).
Quy tắc quan trọng: không sửa migration đã chạy — checksum đổi → Flyway fail; luôn tạo file mới (V4__alter_...).
Vs Liquibase: Flyway đơn giản hơn (SQL thuần); Liquibase flexible hơn (YAML/XML, rollback tốt hơn).