0

我使用 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 和 datatime 都更改为文本类型。我应该添加到 changeSet 表定义中以使其正常工作。顺便说一句,我使用的是 liquibase-1.9.3.jar。现在我必须直接从 sqlite DB 更正它们。谢谢。

4

1 回答 1

2

SQLite 没有日期时间数据类型。它只支持数字、文本和 blob:

引用自http://www.sqlite.org/datatype3.html

SQLite 没有专门用于存储日期和/或时间的存储类

于 2012-07-05T16:31:50.877 回答