flyway 플러그인을 사용하여 데이터베이스 테이블을 만드는 Gradle 스크립트가 있는데 이제는 스크립트를 업데이트하여 2 개의 별도의 이동 경로 스크립트 세트로 작업 할 수 있도록했습니다. 별도의 데이터베이스를 갱신합니다. 스크립트의 단일 데이터베이스 버전에서여러 데이터베이스를 업데이트하기위한 Gradle flyway 스크립트
단순히 이렇게 :
task flywayMigrate2 << {
ext {
flyway {
url = 'jdbc:edb://localhost:5432/mydb2'
schemas = ['my_schema2']
user = 'my_user2'
password = 'my_pass2'
locations = ['filesystem:src/main/resources/db/flyway/my_db2']
}
}
}
flywayMigrate2.finalizedBy flywayMigrate
: 나는 두 번째 DB의 스크립트를 실행하는 새 작업을 선언하는 실험을했습니다
flyway {
url = 'jdbc:edb://localhost:5432/mydb'
schemas = ['my_schema']
user = 'my_user'
password = 'my_pass'
locations = ['filesystem:src/main/resources/db/flyway/my_db']
}
내 Gradle 기술이 좋지 않지만 이것이 올바른 방법이 아니라는 것을 알고 있습니다. 제 이해는 ext
블록이 원래 비행 경로 구성을 덮어 씁니다. 따라서 flywayMigrate
을 flywayMigrate2
이후에 실행하고 싶다면 seco 원래 세트로 되 돌리는 것보다 설정 값 세트를 사용하십시오.
나는 이것을 할 필요가있는 최초의 사람이 될 수는 없지만, 나는 괜찮은 접근 방식을 찾는데 어려움을 겪고있다.
덕분에, 나는 이동 경로 구성 값은 빌드 스크립트 안에 포함이 아닌 명령 행에 전달 될 필요가있다. 귀하의 project.ext 예제는 flywayMigrate2 작업과 동일한 작업을 수행하고 있다고 생각합니다. 즉 작업이 완료된 후에 전역 값을 덮어 씁니다. – codebox