gpt4 book ai didi

liquibase - liquibase <插入>:插入当前日期

转载 作者:行者123 更新时间:2023-12-03 08:52:07 26 4
gpt4 key购买 nike

我正在尝试使用liquibase插入标签插入数据。当我在value标签中输入数字时,它可以正常工作。
但是我正在寻找一个简单的功能,即使我没有将其作为表定义的一部分,它也可以处理默认日期(数据库的当前DateTime)。

例如:

<changeSet id="abc_1" author="Me">
<insert tableName="Emp" schemaName="XYZ">
<column name="name" value="Me"/>
<column name="create_date" value ="1328055111692"/>
<column name="profile_last_update" value="currentDateTimeFunction"/>
<column name="group_name" value="BlahBlah"/>
</insert>
</changeSet>

在这里 <column name="create_date" value ="1328055111692"/>可以正常工作,并将其插入数据库中。我也尝试使用 <defaultValueDate><valueDate>,但它们也需要以指定格式输入一些日期。

我正在寻找一些函数,例如 currentDateTimeFunction ,这些函数会根据我使用的数据库类型转换为UNIX_TIMESTAMP()或SYSDATE或now()。请帮我。

谢谢,
拉米亚

最佳答案

您需要做的是使用changelog parameter
定义一个“now”或“current_timestamp”参数,该参数将按数据库类型替换。

<databaseChangeLog>的顶部(通常仅在<changeset>的外部),添加属性的每个数据库定义,例如:

  <property name="now" value="sysdate" dbms="oracle"/>
<property name="now" value="now()" dbms="mysql"/>
<property name="now" value="now()" dbms="postgresql"/>

然后在您的变更集中使用
<column name="Join_date" defaultValueFunction="${now}"/>

注意使用defaultValueFunction,它将使liquibase知道
不要将其解析为日期或引用它。

关于liquibase - liquibase <插入>:插入当前日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9089678/

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