Postgresql liquibase自动生成多数据库UUID

Postgresql liquibase自动生成多数据库UUID,postgresql,h2,liquibase,uuid,Postgresql,H2,Liquibase,Uuid,我正在尝试使用liquibase自动生成UUID作为主键。这篇文章为我正在尝试使用的postgresql提供了一些想法 然而,我需要一个解决方案来单独使用H2来完成这项工作。我看到有人建议在单独使用h2时使用以下内容,但它不能在列定义中共享defaultValueComputed(我不确定是否有支持h2的函数可以分配给defaultValueComputed) 有没有办法在liquibase中同时支持Postgres和H2?你的问题的一部分是问你是否可以在H2中生成uuid?我不是专家,

我正在尝试使用liquibase自动生成UUID作为主键。这篇文章为我正在尝试使用的postgresql提供了一些想法


然而,我需要一个解决方案来单独使用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>