liquibase / liquibase-gradle-plugin

A Gradle plugin for Liquibase
Other
197 stars 57 forks source link

rollbackCount do not Working. do not drop table. #46

Closed y1feng200156 closed 5 years ago

y1feng200156 commented 5 years ago

liquibase-core: 3.5.5 liquibase-groovy-dsl:2.0.1 liquibase-gradle-plugin:2.0.1 mysql-connector-java:5.1.34 java: 8 gradle: 4.8.1

liquibase config

liquibase {
    activities {
        main {
            driver 'com.mysql.jdbc.Driver'
            changeLogFile 'src/main/resources/liquibase/master.groovy'
            url 'jdbc:mysql://localhost:3306/baike?useUnicode=true&characterEncoding=utf-8'
            username 'root'
            password '123456'
        }
    }
}

master.groovy

databaseChangeLog {
    clobType = 0
    changeSet(id: 1, author: 'baike') {
        createTable(tableName: 'test', remarks: 'test') {
            column(name: 'id', type: 'bigint', autoIncrement: true) {
                constraints(nullable: false, primaryKey: true)
            }
            column(name: 'name', type: 'varchar(255)') {
                constraints(nullable: true)
            }
        }
        rollback "DROP TABLE test"
    }
    changeSet(id: 2, author: 'baike') {
        createTable(tableName: 'test2', remarks: 'test2') {
            column(name: 'id', type: 'bigint', autoIncrement: true) {
                constraints(nullable: false, primaryKey: true)
            }
            column(name: 'name', type: 'varchar(255)') {
                constraints(nullable: true)
            }
        }
        rollback "DROP TABLE test2"
    }

}

Execution script

gradlew rollbackCount -PrunList=main -PliquibaseCommandValue=1 --info

output

Initialized native services in: C:\Users\Charles\.gradle\native
Found daemon DaemonInfo{pid=17596, address=[ea7d9fe2-c208-46b5-a271-12cd7d7fa803 port:56478, addresses:[/127.0.0.1, /0:0:0:0:0:0:0:1]], state=Idle, lastBusy=1537350690284, context=DefaultDaemonContext[uid=1
d8e5897-e2dd-4e54-af24-444cfc63bca8,javaHome=C:\Users\Charles\scoop\apps\oraclejdk8u\current,daemonRegistryDir=C:\Users\Charles\.gradle\daemon,pid=17596,idleTimeout=10800000,daemonOpts=-XX:+HeapDumpOnOutOfM
emoryError,-agentlib:jdwp=transport=dt_socket,server=n,suspend=y,address=56475,-Xmx1024m,-Dfile.encoding=GBK,-Duser.country=CN,-Duser.language=zh,-Duser.variant]} however its context does not match the desi
red criteria.
Java home is different.
Wanted: DefaultDaemonContext[uid=null,javaHome=C:\Users\Charles\scoop\apps\oraclejdk11\current,daemonRegistryDir=C:\Users\Charles\.gradle\daemon,pid=11724,idleTimeout=null,daemonOpts=-XX:+HeapDumpOnOutOfMem
oryError,-Xmx1024m,-Dfile.encoding=GBK,-Duser.country=CN,-Duser.language=zh,-Duser.variant]
Actual: DefaultDaemonContext[uid=1d8e5897-e2dd-4e54-af24-444cfc63bca8,javaHome=C:\Users\Charles\scoop\apps\oraclejdk8u\current,daemonRegistryDir=C:\Users\Charles\.gradle\daemon,pid=17596,idleTimeout=1080000
0,daemonOpts=-XX:+HeapDumpOnOutOfMemoryError,-agentlib:jdwp=transport=dt_socket,server=n,suspend=y,address=56475,-Xmx1024m,-Dfile.encoding=GBK,-Duser.country=CN,-Duser.language=zh,-Duser.variant]

  Looking for a different daemon...
Found daemon DaemonInfo{pid=16468, address=[96622893-dc1d-4351-8d08-ef1122f7a105 port:56722, addresses:[/127.0.0.1, /0:0:0:0:0:0:0:1]], state=Idle, lastBusy=1537350770013, context=DefaultDaemonContext[uid=f
d88774e-c9a5-4880-8c87-381af4079cb6,javaHome=C:\Users\Charles\scoop\apps\oraclejdk8u\current,daemonRegistryDir=C:\Users\Charles\.gradle\daemon,pid=16468,idleTimeout=10800000,daemonOpts=-XX:+HeapDumpOnOutOfM
emoryError,-agentlib:jdwp=transport=dt_socket,server=n,suspend=y,address=56717,-Xmx1024m,-Dfile.encoding=GBK,-Duser.country=CN,-Duser.language=zh,-Duser.variant]} however its context does not match the desi
red criteria.
Java home is different.
Wanted: DefaultDaemonContext[uid=null,javaHome=C:\Users\Charles\scoop\apps\oraclejdk11\current,daemonRegistryDir=C:\Users\Charles\.gradle\daemon,pid=11724,idleTimeout=null,daemonOpts=-XX:+HeapDumpOnOutOfMem
oryError,-Xmx1024m,-Dfile.encoding=GBK,-Duser.country=CN,-Duser.language=zh,-Duser.variant]
Actual: DefaultDaemonContext[uid=fd88774e-c9a5-4880-8c87-381af4079cb6,javaHome=C:\Users\Charles\scoop\apps\oraclejdk8u\current,daemonRegistryDir=C:\Users\Charles\.gradle\daemon,pid=16468,idleTimeout=1080000
0,daemonOpts=-XX:+HeapDumpOnOutOfMemoryError,-agentlib:jdwp=transport=dt_socket,server=n,suspend=y,address=56717,-Xmx1024m,-Dfile.encoding=GBK,-Duser.country=CN,-Duser.language=zh,-Duser.variant]

  Looking for a different daemon...
Found daemon DaemonInfo{pid=17704, address=[3aeae49a-56cd-4c83-9f1f-31b53c699f65 port:58082, addresses:[/127.0.0.1, /0:0:0:0:0:0:0:1]], state=Idle, lastBusy=1537351192915, context=DefaultDaemonContext[uid=5
afa29bc-0451-449c-8be0-d94f16376487,javaHome=C:\Users\Charles\scoop\apps\oraclejdk8u\current,daemonRegistryDir=C:\Users\Charles\.gradle\daemon,pid=17704,idleTimeout=10800000,daemonOpts=-XX:+HeapDumpOnOutOfM
emoryError,-agentlib:jdwp=transport=dt_socket,server=n,suspend=y,address=58078,-Xmx1024m,-Dfile.encoding=GBK,-Duser.country=CN,-Duser.language=zh,-Duser.variant]} however its context does not match the desi
red criteria.
Java home is different.
Wanted: DefaultDaemonContext[uid=null,javaHome=C:\Users\Charles\scoop\apps\oraclejdk11\current,daemonRegistryDir=C:\Users\Charles\.gradle\daemon,pid=11724,idleTimeout=null,daemonOpts=-XX:+HeapDumpOnOutOfMem
oryError,-Xmx1024m,-Dfile.encoding=GBK,-Duser.country=CN,-Duser.language=zh,-Duser.variant]
Actual: DefaultDaemonContext[uid=5afa29bc-0451-449c-8be0-d94f16376487,javaHome=C:\Users\Charles\scoop\apps\oraclejdk8u\current,daemonRegistryDir=C:\Users\Charles\.gradle\daemon,pid=17704,idleTimeout=1080000
0,daemonOpts=-XX:+HeapDumpOnOutOfMemoryError,-agentlib:jdwp=transport=dt_socket,server=n,suspend=y,address=58078,-Xmx1024m,-Dfile.encoding=GBK,-Duser.country=CN,-Duser.language=zh,-Duser.variant]

  Looking for a different daemon...
Found daemon DaemonInfo{pid=8728, address=[1a9daaaf-65c4-49d8-918c-7d5eadb76bd0 port:58470, addresses:[/127.0.0.1, /0:0:0:0:0:0:0:1]], state=Idle, lastBusy=1537351283729, context=DefaultDaemonContext[uid=1c
abe6f0-b6f6-4fa4-95e2-ceb00f9cee34,javaHome=C:\Users\Charles\scoop\apps\oraclejdk8u\current,daemonRegistryDir=C:\Users\Charles\.gradle\daemon,pid=8728,idleTimeout=10800000,daemonOpts=-XX:+HeapDumpOnOutOfMem
oryError,-agentlib:jdwp=transport=dt_socket,server=n,suspend=y,address=58467,-Xmx1024m,-Dfile.encoding=GBK,-Duser.country=CN,-Duser.language=zh,-Duser.variant]} however its context does not match the desire
d criteria.
Java home is different.
Wanted: DefaultDaemonContext[uid=null,javaHome=C:\Users\Charles\scoop\apps\oraclejdk11\current,daemonRegistryDir=C:\Users\Charles\.gradle\daemon,pid=11724,idleTimeout=null,daemonOpts=-XX:+HeapDumpOnOutOfMem
oryError,-Xmx1024m,-Dfile.encoding=GBK,-Duser.country=CN,-Duser.language=zh,-Duser.variant]
Actual: DefaultDaemonContext[uid=1cabe6f0-b6f6-4fa4-95e2-ceb00f9cee34,javaHome=C:\Users\Charles\scoop\apps\oraclejdk8u\current,daemonRegistryDir=C:\Users\Charles\.gradle\daemon,pid=8728,idleTimeout=10800000
,daemonOpts=-XX:+HeapDumpOnOutOfMemoryError,-agentlib:jdwp=transport=dt_socket,server=n,suspend=y,address=58467,-Xmx1024m,-Dfile.encoding=GBK,-Duser.country=CN,-Duser.language=zh,-Duser.variant]

  Looking for a different daemon...
Found daemon DaemonInfo{pid=19168, address=[92f1b9ce-d0c0-488b-89c8-20e129e84d7b port:49701, addresses:[/127.0.0.1, /0:0:0:0:0:0:0:1]], state=Idle, lastBusy=1537354875532, context=DefaultDaemonContext[uid=e
6c59b1a-89b4-42d8-8344-d12e9a0b6b56,javaHome=C:\Users\Charles\scoop\apps\oraclejdk8u\current,daemonRegistryDir=C:\Users\Charles\.gradle\daemon,pid=19168,idleTimeout=10800000,daemonOpts=-XX:+HeapDumpOnOutOfM
emoryError,-Xmx1024m,-Dfile.encoding=GBK,-Duser.country=CN,-Duser.language=zh,-Duser.variant]} however its context does not match the desired criteria.
Java home is different.
Wanted: DefaultDaemonContext[uid=null,javaHome=C:\Users\Charles\scoop\apps\oraclejdk11\current,daemonRegistryDir=C:\Users\Charles\.gradle\daemon,pid=11724,idleTimeout=null,daemonOpts=-XX:+HeapDumpOnOutOfMem
oryError,-Xmx1024m,-Dfile.encoding=GBK,-Duser.country=CN,-Duser.language=zh,-Duser.variant]
Actual: DefaultDaemonContext[uid=e6c59b1a-89b4-42d8-8344-d12e9a0b6b56,javaHome=C:\Users\Charles\scoop\apps\oraclejdk8u\current,daemonRegistryDir=C:\Users\Charles\.gradle\daemon,pid=19168,idleTimeout=1080000
0,daemonOpts=-XX:+HeapDumpOnOutOfMemoryError,-Xmx1024m,-Dfile.encoding=GBK,-Duser.country=CN,-Duser.language=zh,-Duser.variant]

  Looking for a different daemon...
Found daemon DaemonInfo{pid=2520, address=[d57e2c6a-c1f1-413a-b7b1-f98b686f30d5 port:57273, addresses:[/127.0.0.1, /0:0:0:0:0:0:0:1]], state=Idle, lastBusy=1537350921619, context=DefaultDaemonContext[uid=8b
49d75f-407a-4fa2-800b-6e0d4cc95e45,javaHome=C:\Users\Charles\scoop\apps\oraclejdk8u\current,daemonRegistryDir=C:\Users\Charles\.gradle\daemon,pid=2520,idleTimeout=10800000,daemonOpts=-XX:+HeapDumpOnOutOfMem
oryError,-agentlib:jdwp=transport=dt_socket,server=n,suspend=y,address=57105,-Xmx1024m,-Dfile.encoding=GBK,-Duser.country=CN,-Duser.language=zh,-Duser.variant]} however its context does not match the desire
d criteria.
Java home is different.
Wanted: DefaultDaemonContext[uid=null,javaHome=C:\Users\Charles\scoop\apps\oraclejdk11\current,daemonRegistryDir=C:\Users\Charles\.gradle\daemon,pid=11724,idleTimeout=null,daemonOpts=-XX:+HeapDumpOnOutOfMem
oryError,-Xmx1024m,-Dfile.encoding=GBK,-Duser.country=CN,-Duser.language=zh,-Duser.variant]
Actual: DefaultDaemonContext[uid=8b49d75f-407a-4fa2-800b-6e0d4cc95e45,javaHome=C:\Users\Charles\scoop\apps\oraclejdk8u\current,daemonRegistryDir=C:\Users\Charles\.gradle\daemon,pid=2520,idleTimeout=10800000
,daemonOpts=-XX:+HeapDumpOnOutOfMemoryError,-agentlib:jdwp=transport=dt_socket,server=n,suspend=y,address=57105,-Xmx1024m,-Dfile.encoding=GBK,-Duser.country=CN,-Duser.language=zh,-Duser.variant]

  Looking for a different daemon...
The client will now receive all logging from the daemon (pid: 14472). The daemon log file: C:\Users\Charles\.gradle\daemon\4.8.1\daemon-14472.out.log
Starting 79th build in daemon [uptime: 4 hrs 6 mins 23.075 secs, performance: 100%, no major garbage collections]
Using 4 worker leases.
Starting Build
Settings evaluated using settings file 'E:\JavaWk\baike\settings.gradle'.
Projects loaded. Root project using build file 'E:\JavaWk\baike\build.gradle'.
Included projects: [root project 'baike']

> Configure project :
Evaluating root project 'baike' using build file 'E:\JavaWk\baike\build.gradle'.
Applying dependency management to configuration 'annotationProcessor' in project 'baike'
Applying dependency management to configuration 'apiElements' in project 'baike'
Applying dependency management to configuration 'archives' in project 'baike'
Applying dependency management to configuration 'bootArchives' in project 'baike'
Applying dependency management to configuration 'compile' in project 'baike'
Applying dependency management to configuration 'compileClasspath' in project 'baike'
Applying dependency management to configuration 'compileOnly' in project 'baike'
Applying dependency management to configuration 'default' in project 'baike'
Applying dependency management to configuration 'implementation' in project 'baike'
Applying dependency management to configuration 'runtime' in project 'baike'
Applying dependency management to configuration 'runtimeClasspath' in project 'baike'
Applying dependency management to configuration 'runtimeElements' in project 'baike'
Applying dependency management to configuration 'runtimeOnly' in project 'baike'
Applying dependency management to configuration 'testAnnotationProcessor' in project 'baike'
Applying dependency management to configuration 'testCompile' in project 'baike'
Applying dependency management to configuration 'testCompileClasspath' in project 'baike'
Applying dependency management to configuration 'testCompileOnly' in project 'baike'
Applying dependency management to configuration 'testImplementation' in project 'baike'
Applying dependency management to configuration 'testRuntime' in project 'baike'
Applying dependency management to configuration 'testRuntimeClasspath' in project 'baike'
Applying dependency management to configuration 'testRuntimeOnly' in project 'baike'
Applying dependency management to configuration 'providedCompile' in project 'baike'
Applying dependency management to configuration 'providedRuntime' in project 'baike'
Applying dependency management to configuration 'liquibaseRuntime' in project 'baike'
All projects evaluated.
Selected primary task 'rollbackCount' from project :
Tasks to be executed: [task ':rollbackCount']
:rollbackCount (Thread[Daemon worker Thread 23,5,main]) started.

> Task :rollbackCount
Task ':rollbackCount' is not up-to-date because:
  Task has not declared any outputs despite executing actions.
Resolving global dependency management for project 'baike'
Excluding []
liquibase-plugin: Running the 'main' activity...
Starting process 'command 'C:\Users\Charles\scoop\apps\oraclejdk11\current\bin\java.exe''. Working directory: E:\JavaWk\baike Command: C:\Users\Charles\scoop\apps\oraclejdk11\current\bin\java.exe -Dfile.enc
oding=GBK -Duser.country=CN -Duser.language=zh -Duser.variant -cp C:\Users\Charles\.gradle\caches\modules-2\files-2.1\org.liquibase\liquibase-core\3.5.5\c65051f327382018bd09c30380f25eac96f210da\liquibase-co
re-3.5.5.jar;C:\Users\Charles\.gradle\caches\modules-2\files-2.1\org.liquibase\liquibase-groovy-dsl\2.0.1\8726704b9b689d014074a9c12498dc391a8b3460\liquibase-groovy-dsl-2.0.1.jar;C:\Users\Charles\.gradle\cac
hes\modules-2\files-2.1\mysql\mysql-connector-java\5.1.34\46deba4adbdb4967367b013cbc67b7f7373da60a\mysql-connector-java-5.1.34.jar;C:\Users\Charles\.gradle\caches\modules-2\files-2.1\org.yaml\snakeyaml\1.19
\2d998d3d674b172a588e54ab619854d073f555b5\snakeyaml-1.19.jar;C:\Users\Charles\.gradle\caches\modules-2\files-2.1\org.codehaus.groovy\groovy-sql\2.4.15\591ed2582868cb47fcac04eb50923faf52bfd231\groovy-sql-2.4
.15.jar;C:\Users\Charles\.gradle\caches\modules-2\files-2.1\org.codehaus.groovy\groovy\2.4.15\74b7e0b99526c569e3a59cb84dbcc6204d601ee6\groovy-2.4.15.jar liquibase.integration.commandline.Main --logLevel=inf
o --driver=com.mysql.jdbc.Driver --changeLogFile=src/main/resources/liquibase/master.groovy --url=jdbc:mysql://localhost:3306/baike?useUnicode=true&characterEncoding=utf-8 --username=root --password=123
456 rollbackCount 1
Successfully started process 'command 'C:\Users\Charles\scoop\apps\oraclejdk11\current\bin\java.exe''
INFO 2018/9/19 下午7:22: liquibase: Successfully acquired change log lock
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.codehaus.groovy.reflection.CachedClass (file:/C:/Users/Charles/.gradle/caches/modules-2/files-2.1/org.codehaus.groovy/groovy/2.4.15/74b7e0b99526c569e3a59cb84dbcc620
4d601ee6/groovy-2.4.15.jar) to method java.lang.Object.finalize()
WARNING: Please consider reporting this to the maintainers of org.codehaus.groovy.reflection.CachedClass
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
INFO 2018/9/19 下午7:23: liquibase: Reading from baike.DATABASECHANGELOG
INFO 2018/9/19 下午7:23: liquibase: Successfully released change log lock
Liquibase Rollback Successful
:rollbackCount (Thread[Daemon worker Thread 23,5,main]) completed. Took 2.619 secs.

But table test2 not droped.

stevesaliman commented 5 years ago

I can't reproduce this. I tried running your changelog with the Liquibase Workshop and the table did get dropped.

Try adding mainClassName 'org.liquibase.gradle.OutputEnablingLiquibaseRunner' to your liquibase configuration. This enables console output from Liquibase. You should see the "drop table" statement in the output.