Liquibase:管理主数据

时间:2013-12-26 05:42:26

标签: liquibase

我在我的项目中使用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中有没有更好的选择吗?

提前致谢。

0 个答案:

没有答案