레이블이 flyway인 게시물을 표시합니다. 모든 게시물 표시
레이블이 flyway인 게시물을 표시합니다. 모든 게시물 표시

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()
}
...
넣어줘