我正在尝试使用 liquibase 插入标签插入数据。当我向 value tag 输入数字时,它工作正常。
但我正在寻找一个简单的函数来处理默认日期(数据库的当前日期时间),即使我没有将它作为表定义的一部分。
Eg:
<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>
here <column name="create_date" value ="1328055111692"/>
工作正常并且它被插入到数据库中。我也尝试过使用<defaultValueDate>
and <valueDate>
但他们还需要一些指定格式的日期输入。
我正在寻找一些功能,例如当前日期时间函数根据我使用的数据库类型,它将转换为 UNIX_TIMESTAMP() 或 SYSDATE 或 now() 。请帮我。
谢谢你,
拉姆亚
你所要做的就是使用变更日志参数 http://www.liquibase.org/documentation/changelog_parameters.html沙
定义按数据库类型替换的“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 知道
不要将其解析为日期或引用它。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)