无法创建类型为“TIMESTAMP WITHOUT TIME ZONE”的列在 PostgreSQL 中

发布于 2024-10-26 21:25:07 字数 493 浏览 4 评论 0原文

当我尝试在 postgresql 中创建数据类型为“TIMESTAMP WITHOUT TIME ZONE”的列时 它总是在数据库中创建为“TIMESTAMP WITH TIME ZONE”,那么这个问题有什么解决方法或解决方案吗?

<addColumn tableName="myTable">
            <column name="date_added" type="TIMESTAMP WITHOUT TIME ZONE">
            <constraints nullable="false" />
            </column>
 </addColumn>

顺便说一句,这个问题是在 jira 上: http://liquibase.jira.com/browse/CORE-877

when i tried to create a column with the data type "TIMESTAMP WITHOUT TIME ZONE" in postgresql
it's always created in the database as "TIMESTAMP WITH TIME ZONE" , so is there's any workarounds or solutions for this problem ?

<addColumn tableName="myTable">
            <column name="date_added" type="TIMESTAMP WITHOUT TIME ZONE">
            <constraints nullable="false" />
            </column>
 </addColumn>

btw, this issue is on jira:
http://liquibase.jira.com/browse/CORE-877

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

伤感在游骋 2024-11-02 21:25:07

您可以使用在整个变更集中有效的标签来修改生成的 SQL,而不是使用标签并完全从 XML 切换到 sql:

例如,在您的情况下,您将看到以下内容

<modifySql dbms="postgresql">
    <replace replace="WITH" with="WITHOUT"/>
</modifySql>

Instead of using the tag and switch completely from XML to sql, you could modify the resulting generated SQL using the tag which is valid across the whole changeset: http://www.liquibase.org/documentation/modify_sql.html

for example in your case you would have this:

<modifySql dbms="postgresql">
    <replace replace="WITH" with="WITHOUT"/>
</modifySql>
宛菡 2024-11-02 21:25:07

阅读此页http://www.liquibase.org/documentation/sql_format.html。如果您在 Liquibase 中使用 SQL 格式,只需按照您想要的方式手动输入所需的 SQL。

Read this page http://www.liquibase.org/documentation/sql_format.html. just manually type in the needed SQL exactly how you want it if you use the SQL format with Liquibase.

写下不归期 2024-11-02 21:25:07

自此查询以来很长一段时间后,liquibase 团队已经纠正了此问题,现在您可以添加以下列类型:

<column name="created_at" type="TIMESTAMP WITHOUT TIME ZONE">
    <constraints nullable="true"/>
</column>

After a long time since this query, liquibase team has already corrected this problem and now you can add following column type:

<column name="created_at" type="TIMESTAMP WITHOUT TIME ZONE">
    <constraints nullable="true"/>
</column>
止于盛夏 2024-11-02 21:25:07

您可以使用;如果 liquibase 为您生成了错误的 SQL,您可以使用 标签来创建您想要的确切 SQL。

You could use the <sql> tag to create the exact SQL you are wanting if liquibase is generating the wrong SQL for you.

二手情话 2024-11-02 21:25:07

除了 @magomarcelo 之外,您还可以将 modifysql 编写为 YAML。
以下示例忽略 postgresql 中的 unsigned:

- modifySql:
    dbms: postgresql
    replace:
      replace: unsigned
      with: default 0

In addition to @magomarcelo you can also write modifysql as a YAML.
The following example ignores unsigned in postgresql:

- modifySql:
    dbms: postgresql
    replace:
      replace: unsigned
      with: default 0
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文