Site icon PlusMagi's Blog By Pitt Phunsanit

Spring Boot: Migrate โดย Flyway

เพื่อลดเวลาการศึกษา script ของ Liquibase ผมจะใช้ Flyway


เพิ่ม Dependency ใน pom.xml

<dependency>
    <groupId>org.flywaydb</groupId>
    <artifactId>flyway-core</artifactId>
</dependency>
<dependency>
    <groupId>org.flywaydb</groupId>
    <artifactId>flyway-mysql</artifactId>
</dependency>

ปิด Auto-DDL ของ Hibernate

ใน /src/main/resources/application.properties ให้เปลี่ยนจาก update เป็น none เพื่อให้ Flyway เป็นตัวจัดการตารางแทน

# ปิดการสร้างตารางอัตโนมัติของ Hibernate เพื่อใช้ Flyway แทน
spring.jpa.hibernate.ddl-auto=none

# เปิดใช้งาน Flyway
spring.flyway.enabled=true
spring.flyway.baseline-on-migrate=true

ข้อดีของการทำแบบนี้

  1. Versioning: ทุกครั้งที่คุณแก้ Database คุณแค่สร้างไฟล์ V2__xxx.sql, V3__xxx.sql เมื่อรัน App มันจะเช็คและ Migrate ให้เองอัตโนมัติ
  2. Teamwork: เพื่อนร่วมทีมแค่ Pull Code ไปรัน Database ก็จะตรงกันทันที

อ่านเพิ่มเติม

Exit mobile version