gpt4 book ai didi

postgresql - 是否可以使用 Liquibase 和 PostgreSQL 将列默认设置为 LOCALTIMESTAMP?

转载 作者:行者123 更新时间:2023-11-29 14:23:41 26 4
gpt4 key购买 nike

我想在 TIMESTAMP WITH TIME ZONE 类型的表上有一列,但将其默认为插入行的时间。我们使用 Liquibase,所以我想使用标准的 Liquibase 语法来完成。

我希望它看起来像:

<changeSet author="chuck" id="2012-07-24.1">
<addColumn tableName="foo">
<column name="createdOn" type="timestamp" defaultValue="LOCALTIMESTAMP">
<constraints nullable="false"/>
</column>
</addColumn>
</changeSet>

这会生成 SQL:

ALTER TABLE foo ADD "createdOn" TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT 'LOCALTIMESTAMP';

我可以修改此语句并删除 LOCALTIMESTAMP 周围的单引号,它将在 psql 中执行。

ALTER TABLE foo ADD "createdOn" TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT LOCALTIMESTAMP;

有没有其他人在使用 Liquibase 和 PostgreSQL 时遇到过这个问题?作为解决方法,我可以将其重写为声明,但想尝试以 Liquibase 的方式执行此操作。

最佳答案

是的,defaultValueComputed 有效。

<column name="actiondate" type="timestamp with time zone" defaultValueComputed="current_timestamp"/>

关于postgresql - 是否可以使用 Liquibase 和 PostgreSQL 将列默认设置为 LOCALTIMESTAMP?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11640654/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com