Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Nie można wygenerować różnicy z wtyczki liquibase gradle

Rozwiązaniem jest napisanie zadania gradle, które wywołuje liquibase diffChangeLog

Utwórz plik liquibase.gradle w katalogu głównym projektu, dodaj rozszerzenie liquibase-hibernate i napisz zadanie gradle, które wywołuje liquibase diffChangeLog polecenie.

Konfiguracje
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
}

UWAGA:Użyłem plików właściwości do przekazania argumentów do polecenia liquibase, możesz dodać wartości bezpośrednio, ale to nie byłaby dobra praktyka.

Następnie musisz zastosować liquibase.gradle plik z build.gradle projektu plik. i dodaj zależność liquibase

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

Po tym kroku liquibase zostanie całkowicie skonfigurowany.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Komunikat o błędzie składni MySQL Operand powinien zawierać 1 kolumnę (kolumny)

  2. Ile pamięci zajmie wartość null w DB?

  3. CRUD dla MySQL i PHP

  4. mysqldump problemy z błędem przywracania:'Proszę ODRZUĆ obszar tabel przed IMPORTEM'

  5. Dodaj dużo danych z pewnym przedziałem czasowym w Javie