在 Liquibase 中定义具有默认值的列
Define a column with a default value in Liquibase
我正在尝试使用 liquibase 为 Postgres 中的列调用 current_timestamp
函数,但我不知道该怎么做。我可以在 SQL 标签内完成吗?如果有人能帮助我提出更好的主意,我将不胜感激。
您需要做的是使用变更日志参数并定义一个 "now" 或 "current_timestamp" 参数,每个数据库类型都会替换该参数。
在 <databaseChangeLog>
的顶部,通常就在 <changeset>
之外,添加 属性 的每个数据库定义,例如:
<property name="now" value="now()" dbms="postgresql"/>
然后在您的变更集中使用
<column name="Join_date" defaultValueFunction="${now}"/>
注意 defaultValueFunction 的使用,它会让 liquibase 知道不要将其解析为日期或引用它。
这也很有效:
<column name="actiondate" type="timestamp with time zone" defaultValueComputed="current_timestamp"/>
我正在尝试使用 liquibase 为 Postgres 中的列调用 current_timestamp
函数,但我不知道该怎么做。我可以在 SQL 标签内完成吗?如果有人能帮助我提出更好的主意,我将不胜感激。
您需要做的是使用变更日志参数并定义一个 "now" 或 "current_timestamp" 参数,每个数据库类型都会替换该参数。
在 <databaseChangeLog>
的顶部,通常就在 <changeset>
之外,添加 属性 的每个数据库定义,例如:
<property name="now" value="now()" dbms="postgresql"/>
然后在您的变更集中使用
<column name="Join_date" defaultValueFunction="${now}"/>
注意 defaultValueFunction 的使用,它会让 liquibase 知道不要将其解析为日期或引用它。
这也很有效:
<column name="actiondate" type="timestamp with time zone" defaultValueComputed="current_timestamp"/>