我正在使用 liquibase 3.5.3liquibase update在 MySql 5.5 上运行命令。我在下面changeSet创建了一个表,其中有一列Created_Time应该有一个默认值作为CURRENT_TIMESTAMP.
<changeSet author="authorName" id="AutoGeneratedId">
<createTable tableName="aTable">
<column autoIncrement="true" name="Id" type="INT">
<constraints primaryKey="true"/>
</column>
<column name="Code" type="VARCHAR(45)"/>
<column defaultValueComputed="CURRENT_TIMESTAMP" name="Created_Time" type="TIMESTAMP(19)"/>
</createTable>
</changeSet>
Run Code Online (Sandbox Code Playgroud)
在触发 liquibase 命令时,它会引发异常
Unexpected error running Liquibase: Invalid default value for 'Created_Time' [Failed SQL: CREATE TABLE aTable (Id INT AUTO_INCREMENT NOT NULL, Code VARCHAR(45) NULL, Created_Time TIMESTAMP(19) DEFAULT NOW() NULL, CONSTRAINT PK_ATABLE PRIMARY KEY (Id))]
Liquibase 正在转换CURRENT_TIMESTAMP为NOW()可能导致此问题的原因。
有些人可以为我提供此问题的任何解决方案或替代方案吗?