我们已经有一个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。
答案 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
数据类型可以微秒为单位处理日期数据。