我在我的项目中使用liquibase。
我有租户表, tenant_id 作为主键。其余的表将tenant_id作为列。
现在用不同租户处理主数据的更好方法
表格
<createTable tableName="tenant">
<column name="tenant_id" autoIncrement="true" type="int">
<constraints primaryKey="true" nullable="false"
primaryKeyName="pk_tenant_id" />
</column>
<column name="name" type="varchar(100)"></column>
</createTable>
<createTable tableName="base_entity">
<column name="base_entity_id" autoIncrement="true" type="int">
<constraints primaryKey="true" nullable="false"
primaryKeyName="pk_base_entity_id" />
</column>
<column name="tenant_id" type="int">
<constraints nullable="false" />
</column>
</createTable>
- 数据: - 目前我正在处理这样的数据
<property name="@tenant_id_1"
value="(select tenant_id from tenant where name='test1') " dbms="mysql" />
<property name="@tenant_id_2"
value="(select tenant_id from tenant where name='test2') " dbms="mysql" />
<insert tableName="tenant">
<column name="name">test1</column>
</insert>
<insert tableName="tenant">
<column name="name">test2</column>
</insert>
<insert tableName="base_entity">
<column name="name">testBase_Entity</column>
<column name="tenant_id" valueComputed="${@tenant_id_1}" />
</insert>
<insert tableName="base_entity">
<column name="name">testBase_Entity</column>
<column name="tenant_id" valueComputed="${@tenant_id_2}" />
</insert>
但我没有租户,因为每个租户都需要插入数据。
liquibase中有没有更好的选择吗?
提前致谢。