Apartment Gem と Postgresql 9.4.1 を使用して、Rails でマルチテナント アプリを構築しています。
私は Minitest を使用していますが、RSpec を知りません。
Minitest フィクスチャをセットアップして、一部のフィクスチャ/データをパブリック スキーマに配置し、その他のデータを特定のスキーマに配置するにはどうすればよいですか?
例: Accounts は非スキーマ テーブルで、残りはスキーマに格納されます。次のようにスキーマ名にプレフィックスを付けるようにフィクスチャをセットアップしようとしました。
- アカウント.yml
- schema1.users.yml
- schema1.projects.yml
これは次のように失敗します。
PG::UndefinedTable: ERROR: relation "schema1.customers" does not exist
したがって、データを正しいスキーマに入れようとしていますが、スキーマが存在しません。
テスト DB を移行または最初に構築するときに、次のようなテナント/スキーマを構築する方法が必要なようです。
Apartment::Tenant.create('schema1')
次に、通常のミニテストのプリロードにより、フィクスチャ データが適切なスキーマに配置されます。
これがどこで、いつ、どのように発生する必要があるかわかりません。
何か案は?