はじめに Web アプリでマルチテナントをやる場合、 すべてのテーブルに tenant_id を追加してデータを分けるのではなく、 テナントごとにデータベースを分けたい。 データベースを分けておけば、バグで他のテナントのデータまで変更してしまう可能性を減らせる。 データベースを分けたマルチテナントをサポートする、 『Apartment』という gem を使った記事を以前書いた。 Heroku 上での運営を考えているので、 Heroku 上でもテナントごとにデータベースを分けたマルチテナントが可能か試してみた。 なお、Heroku Postgres を使うから、厳密にはテナントごとにスキーマを分けることになる。 Heroku にデプロイ Rails + Apartment でマルチテナントな Web サービスを作る - present で作成した Rails プロジェクトを使うことが前提。