2020년 6월 4일 목요일

springboot Flyway 간단사용법

그레이들의 특정 태스크에 추가해서 디비정합성이 맞는지도 체크하고,
누군가가 새로운 sql 을 넣은게 있다면 자동으로 갱신도하고. 좋다.

일단 sql 은 resources/db/migration/V6__Create_smple_table.sql( V아무거나__아무설명.sql) 로 저장하면됨.
자동으로 디비에 flyway_schema_history 이런테이블에 들어가는데 형상관리(정합성)해주는거임

사용은 이렇게 ...
plugins {    id "org.flywaydb.flyway" version "6.4.3"}


bootRunMe {    systemProperty 'spring.profiles.active', System.properties['spring.profiles.active']

    doFirst {        
      task migrateDatabase1(type: org.flywaydb.gradle.task.FlywayMigrateTask) {            
             url = 'jdbc:mysql://localhost:3306/mymydb'
            user = 'uuu'
            password = 'ppp'
            baselineVersion = 1.0
            baselineOnMigrate = true
            baselineDescription = "Base Migration"
}
       tasks.migrateDatabase1.execute()

        task migrateDatabase2(type: org.flywaydb.gradle.task.FlywayMigrateTask) {  
            url = 'jdbc:mysql://localhost:3307/mymydb'      
            user = 'uuu'     
            password = 'ppp'   
       }       
      tasks.migrateDatabase2.execute()
}
}

bootRunMe 태스크빌드를 실행하면 doFirst 가 달리면서 여러서버의 디비정보를 최신업데이트된걸로 해줌.
별디비 다해줌. sqlite도 가능하므로 안드로이드에서도 가능

걍 gradle 의 task 중
...
myRunTask{
  doFirst {
     flywayMigrate.execute()
}
...
넣어줘

0 comments:

댓글 쓰기