如何在多租户的情况下将数据库副本复制到自身

时间:2012-10-23 08:24:15

标签: mysql database copy multi-tenant discriminator

我有mysql数据库的多租户系统。存在基于鉴别器的多租户。每个表都包含列tenantId。我有tenant = -1的默认租户。对于此默认租户数据库,包含所有新租户的初始数据。

如何为同一数据库中的新tenantId复制tenantId = -1的所有数据?数据库中有很多表,因此手动编写这样的脚本非常困难。

主要问题:如果我将转储db,那么我无法将此转储加载到同一个db,因为主键和外键应该是新的。

1 个答案:

答案 0 :(得分:1)

您需要在mysqldump中使用-w(或--where)选项。由于您的所有表都有tenantId,因此应该可以使用:

mysqldump myDB --where='tenandId=-1'