Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Không thể tạo ra sự khác biệt từ plugin liquibase gradle

Các giải pháp là viết một nhiệm vụ gradle gọi liquibase diffChangeLog

Tạo liquibase.gradle tệp trong thư mục gốc của dự án, thêm phần mở rộng liquibase-hibernate và viết tác vụ gradle gọi liquibase diffChangeLog lệnh.

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
}

LƯU Ý:Tôi đã sử dụng các tệp thuộc tính để truyền các đối số cho lệnh liquibase, bạn có thể thêm các giá trị trực tiếp, nhưng đó không phải là một phương pháp hay.

Tiếp theo, bạn cần áp dụng liquibase.gradle từ bên trong build.gradle của dự án tập tin. và thêm phần phụ thuộc liquibase

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

Sau bước này, liquibase sẽ được thiết lập hoàn chỉnh.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mysql 1 Hàng Ngẫu nhiên

  2. Cách CHỌN dựa trên giá trị của một CHỌN khác

  3. Lỗi 1148 MySQL Lệnh đã sử dụng không được phép với phiên bản MySQL này

  4. Làm cách nào để tạo đoạn mã giống như đoạn mã do Google tạo bằng PHP và MySQL?

  5. Không thể kết nối với MySQL tại localhost:3306 với người dùng root