Apartment
multi-tenant-support
Our great sponsors
Apartment | multi-tenant-support | |
---|---|---|
5 | 5 | |
2,638 | 46 | |
0.5% | - | |
0.0 | 0.0 | |
24 days ago | over 1 year ago | |
Ruby | Ruby | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Apartment
-
Figma's Databases team lived to tell the scale
I recall a popular rails gem[1] once upon a time that provided multi-tenancy via postgres schemas.
As it turns out, even the company the initially developed the gem ended up ditching the approach due to some of the issues you outlined above.
Managing separate schemas feels like one of those nefarious decisions that make things simple _initially_ but get you into a world of hurt when you need to scale. The company is since defunct but they have an article where they discuss why they ditched the approach [2], TL;DR it's too difficult to maintain and scale
[1] https://github.com/influitive/apartment#tenants-on-different...
multi-tenant-support
-
MatrixEval - A local alternative to GitHub Action/Circle CI/Travis CI matrix job. Simply run your code against different versions of dependencies.
If your code needs to integrate with other services like database. Here is another real configuration from another ruby gem - multi-tenant-support
-
multi-tenant-support gem: Help you build a highly secure, multi-tenant rails app without data leak
But you can easily override the finder method in controller with your own strategy. (lib/multi_tenant_support/concern/controller_concern.rb)
By the way, I just updated the README to contain lots of details about what make multi-tenant-support difference from others. That may help.
I would love to hear your feedback about multi-tenant-support. Please let me know if you like it or not, or create an issue if it does not work as you expected.
What are some alternatives?
Acts As Tennant - Easy multi-tenancy for Rails in a shared database setup.
Milia - Easy multi-tenanting for Rails5 (or Rails4) + Devise
activerecord-multi-tenant - Rails/ActiveRecord support for distributed multi-tenant databases like Postgres+Citus
rails_or - Cleaner syntax for writing OR Query in Rails 5, 6. And also add #or support to Rails 3 and 4.
pluck_all - A more efficient way to get data from database. Like #pluck method but return array of hashes instead.
SanitizeSqlLike - Backport #sanitize_sql_like method from Rails 4 for Rails 3. Sanitizes a string so that it is safe to use within an SQL LIKE statement.
Rails PG Extras - Rails PostgreSQL database performance insights. Locks, index usage, buffer cache hit ratios, vacuum stats and more.
Filtered - Filters ActiveRecord queries in a nice way
vandal - ActiveRecord force destroy records with all related associations.