Mysql
 sql >> база данни >  >> RDS >> Mysql

Не може да се генерира разлика от liquibase gradle плъгин

Решенията са да напишете градул задача, която извиква liquibase diffChangeLog

Създайте liquibase.gradle файл в основната директория на проекта, добавете разширение liquibase-hibernate и напишете Gradle задача, която извиква liquibase diffChangeLog команда.

configurations {
  liquibase
}

dependencies {
  liquibase group: 'org.liquibase.ext', name: 'liquibase-hibernate4', version: 3.5
}

//loading properties file.
Properties liquibaseProps = new Properties()
liquibaseProps.load(new FileInputStream("src/main/resources/liquibase-task.properties"))

Properties applicationProps = new Properties()
applicationProps.load(new FileInputStream("src/main/resources/application.properties"))

task liquibaseDiffChangelog(type: JavaExec) {
  group = "liquibase"


  classpath sourceSets.main.runtimeClasspath
  classpath configurations.liquibase
  main = "liquibase.integration.commandline.Main"

  args "--changeLogFile=" + liquibaseProps.getProperty('liquibase.changelog.path')+ buildTimestamp() +"_changelog.xml"
  args "--referenceUrl=hibernate:spring:" + liquibaseProps.getProperty('liquibase.domain.package') + "?dialect=" + applicationProps.getProperty('spring.jpa.properties.hibernate.dialect')
  args "--username=" + applicationProps.getProperty('spring.datasource.username')
  args "--password=" + applicationProps.getProperty('spring.datasource.password')
  args "--url=" + applicationProps.getProperty('spring.datasource.url')
  args "--driver=com.mysql.jdbc.Driver"
  args "diffChangeLog"
}

def buildTimestamp() {
  def date = new Date()
  def formattedDate = date.format('yyyyMMddHHmmss')
  return formattedDate
}

ЗАБЕЛЕЖКА:Използвах файлове със свойства за предаване на аргументи към командата liquibase, можете да добавите стойностите директно, но това не би било добра практика.

След това ще трябва да приложите liquibase.gradle файл от build.gradle на проекта файл. и добавете зависимостта liquibase

apply from: 'liquibase.gradle'
//code omitted
dependencies {
    compile (group: 'org.liquibase', name: 'liquibase-core', version: "3.4.2")
}

След тази стъпка liquibase ще бъде настроена напълно.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Направете автоматично увеличение за запълване на изтрития номер

  2. MySQL високо използване на процесора

  3. грешка при използване на mysql_real_escape_string()

  4. Автоматично подрязване на струните до правилната дължина при вложката

  5. Как да конфигурирам приложението за пружинно зареждане да използва SSL/TLS през MySQL?