Cannot create column with type “TIMESTAMP WITHOUT TIME ZONE” in PostgreSQL
当我试图在postgresql中创建一个数据类型为"TIMESTAMP WITHOUT TIME ZONE"的列时
它总是在数据库中创建为"TIMESTAMP WITH TIME ZONE",那么是否有针对此问题的解决方法或解决方案?
1 2 3 4 | <COLUMN name="date_added" TYPE="TIMESTAMP WITHOUT TIME ZONE"> <constraints NULLABLE="false" /> </column> </addColumn> |
顺便说一句,这个问题是关于jira的:
http://liquibase.jira.com/browse/CORE-877
您可以使用在整个变更集中有效的标记来修改生成的SQL,而不是使用标记并完全从XML切换到sql:http://www.liquibase.org/documentation/modify_sql.html
例如在你的情况下你会有这个:
1 2 3 | <modifySql dbms="postgresql"> <REPLACE REPLACE="WITH" WITH="WITHOUT"/> </modifySql> |
阅读此页http://www.liquibase.org/documentation/sql_format.html。 如果您使用Liquibase的SQL格式,只需手动输入所需的SQL。
如果liquibase为您生成错误的SQL,则可以使用
除了@magomarcelo之外,您还可以将modifysql编写为YAML。
以下示例忽略postgresql中的unsigned:
1 2 3 4 5 | - modifySql: dbms: postgresql REPLACE: REPLACE: UNSIGNED WITH: DEFAULT 0 |