Postgresql liquibase自动生成多数据库UUID
我正在尝试使用liquibase自动生成UUID作为主键。这篇文章为我正在尝试使用的postgresql提供了一些想法Postgresql liquibase自动生成多数据库UUID,postgresql,h2,liquibase,uuid,Postgresql,H2,Liquibase,Uuid,我正在尝试使用liquibase自动生成UUID作为主键。这篇文章为我正在尝试使用的postgresql提供了一些想法 然而,我需要一个解决方案来单独使用H2来完成这项工作。我看到有人建议在单独使用h2时使用以下内容,但它不能在列定义中共享defaultValueComputed(我不确定是否有支持h2的函数可以分配给defaultValueComputed) 有没有办法在liquibase中同时支持Postgres和H2?你的问题的一部分是问你是否可以在H2中生成uuid?我不是专家,
然而,我需要一个解决方案来单独使用H2来完成这项工作。我看到有人建议在单独使用h2时使用以下内容,但它不能在列定义中共享defaultValueComputed(我不确定是否有支持h2的函数可以分配给defaultValueComputed)
有没有办法在liquibase中同时支持Postgres和H2?你的问题的一部分是问你是否可以在H2中生成uuid?我不是专家,但看起来你可以: 第二,你在问,你是否可以像针对博士后那样在liquibase中这样做:
<property name="uuid_type" value="uuid" dbms="postgresql"/>
<property name="uuid_function" value="uid.uuid_generate_v4()" dbms="postgresql"/>
<column name="id" type="${uuid_type}" defaultValueComputed="${uuid_function}">
<constraints nullable="false" unique="true" />
</column>
您是否尝试过:
<property name="uuid_type" value="uuid" dbms="h2"/>
<property name="uuid_function" value="RANDOM_UUID()" dbms="h2"/>
<column name="id" type="${uuid_type}" defaultValueComputed="${uuid_function}">
<constraints nullable="false" unique="true" />
</column>
<property name="uuid_type" value="uuid" dbms="postgresql"/>
<property name="uuid_function" value="uid.uuid_generate_v4()" dbms="postgresql"/>
<column name="id" type="${uuid_type}" defaultValueComputed="${uuid_function}">
<constraints nullable="false" unique="true" />
</column>
<property name="uuid_type" value="uuid" dbms="h2"/>
<property name="uuid_function" value="RANDOM_UUID()" dbms="h2"/>
<column name="id" type="${uuid_type}" defaultValueComputed="${uuid_function}">
<constraints nullable="false" unique="true" />
</column>