我使用 liquibase databaseChangeLog 创建了一个表:
<changeSet id="1" author="person1">
<createTable tableName="schedule">
<column name="id" type="varchar(20)">
<constraints primaryKey="true" nullable="false"/>
</column>
<column name="worktime" type="datetime">
</column>
</createTable>
</changeSet>
但是,在验证我的 sqlite 数据库时,表架构如下所示:
sqlite> .schema schedule
CREATE TABLE schedule (
id TEXT NOT NULL,
worktime TEXT,
CONSTRAINT PK_SCHEDULE
PRIMARY KEY (id));
您会看到 varchar 和数据时间都更改为文本类型。我应该添加到 changeSet 表定义中以使其正常工作。顺便说一下,我正在使用liquibase-1.9.3.jar。现在我必须直接从sqlite DB更正它们。谢谢。
SQLite 没有 datetime 数据类型。它只子移植数字、文本和 blob:
引自 http://www.sqlite.org/datatype3.html
SQLite 没有为存储日期和/或时间预留的存储类