使用liquibase和Altibase

时间:2018-03-08 09:50:56

标签: liquibase liquibase-hibernate

我们已经有一个liquibase脚本的现有项目(mysql,postgresql)。现在我们要支持一个名为Altibase的新数据库。但是当我们运行liquibase:dropAll liquibase:update时,我们得到了:

[ERROR] Failed to execute goal org.liquibase:liquibase-maven-plugin:3.5.3:dropAll 
(default-cli) on project project-model: Error setting up or running Liquibase: 
liquibase.exception.LockException: liquibase.exception.DatabaseException: 
Data type module (Name="DATETIME") not found. 
[Failed SQL: 
CREATE TABLE ALTIBASE.DATABASECHANGELOGLOCK (
  ID INT NOT NULL, LOCKED BOOLEAN NOT NULL, LOCKGRANTED datetime, 
  LOCKEDBY VARCHAR(255), 
  CONSTRAINT PK_DATABASECHANGELOGLOCK PRIMARY KEY (ID))] -> [Help 1]

这是pom的配置:

<profile>
    <id>altibase</id>
    <activation>
        <property>
            <name>env</name>
            <value>altibase</value>
        </property>
    </activation>
    <properties>
        <db.driver>Altibase.jdbc.driver.AltibaseDriver</db.driver>
        <db.url>jdbc:Altibase://ourdomain.cloud:20001/ourdb</db.url>
        <db.schema>ALTIBASE</db.schema>
        <db.username>admin</db.username>
        <db.password>admin</db.password>
    </properties>
    <dependencies>
        <dependency>
            <groupId>com.altibase</groupId>
            <artifactId>Altibase</artifactId>
            <version>1.0.1.2</version>
            <scope>provided</scope>
        </dependency>
    </dependencies>
</profile>

请注意,我们通过maven在本地安装了Altibase jar。

2 个答案:

答案 0 :(得分:0)

我想liquibase不直接支持DB。它似乎没有数据类型DATETIME

查看部分&#34;使用不支持的数据库&#34;在本网站上:https://www.liquibase.org/databases.html

也许使用可选参数--currentDateTimeFunction=<value>。另请参阅此网站:https://www.liquibase.org/documentation/command_line.html

答案 1 :(得分:0)

Altibase具有DATE数据类型。并且,其DATE数据类型与其他DBMS的DATETIME数据类型相同。 Altibase的DATE数据类型可以微秒为单位处理日期数据。

相关问题