3

mysqlデータベースを使用したマルチテナントシステムがあります。弁別子ベースのマルチテナンシーがあります。各テーブルには、tenantId列が含まれています。TenantId=-1のデフォルトテナントがあります。このデフォルトのテナントデータベースには、すべての新しいテナントの初期データが含まれています。

同じデータベース内の新しいtenantIdに対してtenantId=-1のすべてのデータをコピーするにはどうすればよいですか?データベースにはたくさんのテーブルがあるので、そのようなスクリプトを手動で書くのは非常に難しいです。

主な問題:dbのダンプを作成する場合、主キーと外部キーは新しいはずなので、このダンプを同じdbにロードできません。

4

1 に答える 1

1

mysqldump で -w (または --where) オプションを使用する必要があります。すべてのテーブルに tenantId があるため、これは機能するはずです。

mysqldump myDB --where='tenandId=-1'
于 2012-10-23T08:33:29.827 に答える