sql >> データベース >  >> RDS >> Mysql

liquibasegradleプラグインとの違いを生成できません

    解決策は、liquibase diffChangeLogを呼び出すgradleタスクを作成することです。

    liquibase.gradleを作成します プロジェクトのルートディレクトリにファイルを追加し、liquibase-hibernate拡張機能を追加して、liquibase diffChangeLogを呼び出すgradleタスクを記述します。 コマンド。

    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. 多対多テーブル内多対多

    2. クラスター化インデックスではIGNORE_DUP_KEYが遅くなります

    3. 表領域の空き領域を確認する

    4. MySql Connector C ++が原因で未解決の外部シンボルを修正するにはどうすればよいですか?