Landlady
Super Easy Postgres Multitenancy
Using a subdomain mapping design pattern, Landlady takes advantage of PostgresQL SCHEMA_SEARCH_PATH and using naming conventions will map tenants with complete data segregation to the required data namespace.
Installation
Add this line to your application's Gemfile:
gem 'landlady'
And then execute:
$ bundle
Or install it yourself as:
$ gem install landlady
Then Install and run the migrations:
$ rails g landlady:install
$ rake db:migrate
Usage
Landlady uses
Development Environments
Once you have Tenants set up, use something like lvh.me to map back to localhost $ i.e. http://tenant1.lvh.me
Tenant migrations
Landlady will set up Tenants, then because she is a good land lady will update each of the tenants with the required migrations with:
$ rake tenants:db:migrate
Contributing
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request