Использование ликвидазы с Altibase
У нас уже есть проект со скриптами 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>
Обратите внимание, что мы установили Altibase jar локально через maven.
2 ответа
Я предполагаю, что DB напрямую не поддерживается liquibase. И это, похоже, не имеет типа данных DATETIME
,
Оформить заказ в разделе "Использование неподдерживаемых баз данных" на этом сайте: https://www.liquibase.org/databases.html.
Может быть, использовать дополнительный параметр --currentDateTimeFunction=<value>
, Также смотрите этот сайт: https://www.liquibase.org/documentation/command_line.html
Altibase имеет тип данных DATE. И тип данных DATE совпадает с типом данных других СУБД DATETIME. Тип данных Altibase DATE может обрабатывать данные даты с микросекундами.