2015-03-09 2 views
0

Я использую Liquibase для создания cassarndra. Моя версия Liquibase - 3.0.0, но при этом отображается следующая ошибка.Liquibase cassandra get failed

D:\Liquibase -Cassandra\common-model\build.xml:89: liquibase.exception.DatabaseException: liquibase.exception.LockException: liquibase.exception.DatabaseException: Error executing SQL CREATE TABLE DATABASECHANGELOGLOCK (ID INT NOT NULL, LOCKED BOOLEAN NOT NULL, LOCKGRANTED datetime, LOCKEDBY VARCHAR(255), CONSTRAINT PK_DATABASECHANGELOGLOCK PRIMARY KEY (ID)); on jdbc:cassandra://192.168.1.219:9160/ems_testINSERT INTO DATABASECHANGELOGLOCK (ID, LOCKED) VALUES (1, FALSE): line1:121 missing EOF at ',' (... datetime, LOCKEDBY VARCHAR(255)[,] CONSTRAINT...) 
'CREATE TABLE DATABASECHANGELOGLOCK (ID INT NOT NULL, LOCKED BOOLEAN NOT NULL, LOCKGRANTED datetime, LOCKEDBY VARCHAR(255), CONSTRAINT PK_DATABASECHANGELOGLOCKPRIMARY KEY (ID))' 
    at liquibase.Liquibase.dropAll(Liquibase.java:555) 
    at liquibase.Liquibase.dropAll(Liquibase.java:535) 
    at liquibase.integration.ant.DropAllTask.execute(DropAllTask.java:54) 
    at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291) 
    at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
    at java.lang.reflect.Method.invoke(Unknown Source) 
    at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106) 
    at org.apache.tools.ant.Task.perform(Task.java:348) 
    at org.apache.tools.ant.Target.execute(Target.java:392) 
    at org.apache.tools.ant.Target.performTasks(Target.java:413) 
    at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399) 
    at org.apache.tools.ant.Project.executeTarget(Project.java:1368) 
    at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41) 
    at org.apache.tools.ant.Project.executeTargets(Project.java:1251) 
    at org.apache.tools.ant.Main.runBuild(Main.java:811) 
    at org.apache.tools.ant.Main.startAnt(Main.java:217) 
    at org.apache.tools.ant.launch.Launcher.run(Launcher.java:280) 
    at org.apache.tools.ant.launch.Launcher.main(Launcher.java:109) 
Caused by: liquibase.exception.LockException:liquibase.exception.DatabaseException: Error executing SQL CREATE TABLE DATABASECHANGELOGLOCK (ID INT NOT NULL, LOCKED BOOLEAN NOT NULL, LOCKGRANTED datetime, LOCKEDBY VARCHAR(255), CONSTRAINT PK_DATABASECHANGELOGLOCK PRIMARY KEY (ID)); on jdbc:cassandra://192.168.1.219:9160/ems_testINSERT INTO DATABASECHANGELOGLOCK (ID, LOCKED) VALUES (1, FALSE): line 1:121 missing EOF at ',' (... datetime, LOCKEDBY VARCHAR(255)[,] CONSTRAINT...) 'CREATE TABLE DATABASECHANGELOGLOCK (ID INT NOT NULL, LOCKED BOOLEAN NOT NULL, LOCKGRANTED datetime, LOCKEDBY VARCHAR(255), CONSTRAINT PK_DATABASECHANGELOGLOCKPRIMARY KEY (ID))' 
    at liquibase.lockservice.LockServiceImpl.acquireLock(LockServiceImpl.java:122) 

Это моя ANT цель в build.xml

<target name="dropAll" depends="prepare" > 
    <dropAllDatabaseObjects 
      driver="${db.driver}" 
      url="${db.url}" 
      username="${db.username}" 
      password="${db.password}" 
      promptOnNonLocalDatabase="yes" 
      classpathref="classpath" 
      />  
</target> 

ответ

0

экспромтом, это выглядит как ошибка в LiquiBase. Я бы предложил попробовать снова с последней версией Liquibase, чтобы узнать, может ли она уже исправлена, и если вы все еще можете ее воспроизвести, напишите ошибку в Liquibase JIRA: https://liquibase.jira.com/secure/Dashboard.jspa

+0

Я также пробовал с последней версией (3.3.2), но также имел ту же проблему. –

+0

@ArunMRNair. Я не знаю, могу ли я спросить об этом здесь ... Я пытаюсь использовать liquidbase-cassandra ... не могли бы вы передать инструкции по ее использованию. – swati

0

Liquibase требует использования расширения для поддержки Кассандры. Либо https://github.com/liquibase/liquibase-cassandra должен работать, либо вы можете попробовать https://github.com/jsanda/cassandra-liquibase-ext

+0

ya. Я использую https://github.com/liquibase/liquibase-cassandra, но это показывает ошибку. –

+0

При установке Liquibase-cassandra он должен запускать класс LockServiceCassandra вместо стандартного класса LockServiceImpl, который выдает ошибку. Можете ли вы убедиться, что емкость Liquibase-cassandra находится в том же загрузчике классов, что и Liquibase? –

+0

нам нужно было сделать бутылку Liquibase-cassandra для этого. В настоящее время я использую банку, которая присутствует в папке lib. –

Смежные вопросы