sql >> Database teknologi >  >> RDS >> Mysql

Kan ikke generere forskel fra liquibase gradle plugin

Løsningen er at skrive en gradle-opgave, som påkalder liquibase diffChangeLog

Opret en liquibase.gradle fil i projektets rodbibliotek, tilføj liquibase-hibernate-udvidelsen og skriv en gradle-opgave, der påkalder liquibase diffChangeLog kommando.

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
}

BEMÆRK:Jeg har brugt egenskabsfiler til at sende argumenter til liquibase-kommandoen, du kan tilføje værdierne direkte, men det ville ikke være en god praksis.

Dernæst skal du anvende liquibase.gradle fil fra projektets build.gradle fil. og tilføj liquibase-afhængigheden

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

Efter dette trin ville liquibase blive konfigureret fuldstændigt.



  1. gem postgresql resultat i bash variabel

  2. app går ned på JSON jparser lav http-anmodning

  3. Sådan konverteres millisekunder til dato i SQLite

  4. Brug DATABASEPROPERTYEX() til at returnere databaseindstillinger i SQL Server