Liquibase与MySQL的升级问题

时间:2016-06-28 11:22:49

标签: java mysql postgresql grails liquibase

我在使用liquibase进行升级时遇到问题。我有一个应用程序jbilling-community-4.1.1。

我想将数据从jbilling-community3.1.0迁移到jbilling-community4.1.1,但是当我运行此命令时

grails upgrade-db -user=root -pass=root -db=jbilling_test -dbVersion=3.2 -url="jdbc:mysql://localhost:3306/jbilling_test"

它给出了这个错误

Error executing script UpgradeDb: : liquibase.exception.LockException: liquibase.exception.DatabaseException: Error executing SQL 
CREATE TABLE public.DATABASECHANGELOGLOCK (ID INT NOT NULL, LOCKED BIT(1) NOT NULL, LOCKGRANTED datetime NULL, LOCKEDBY VARCHAR(255) NULL, CONSTRAINT PK_DATABASECHANGELOGLOCK PRIMARY KEY (ID)): 
Unknown database 'public' (Use --stacktrace to see the full trace)

upgrade-db是升级数据库的脚本。我使用postGres升级它,它是jbilling的默认数据库,但是他们说它可以用mysql运行。但是我得到了这个例外,它与liquibase有关,所以在这里发帖。

2 个答案:

答案 0 :(得分:0)

确保在命令中添加属性-schema = jbilling_test。

答案 1 :(得分:-1)

试试这个

grails upgrade-db -user=root -pass=root -db=jbilling_test -dbVersion=3.2 -url="jdbc:mysql://localhost:3306/jbilling_test" -schema=jbilling

确保将3.0升级到3.1然后升级到3.2等等