Rails/Postgres Gurus,
Question: Is it possible to use Postgres schemas within a Rails app to separate tables and data between two different apps?
Problem Set: I am thinking of combining two apps. I want to share some data (certain tables) between them, but I want the migrations and other activities to be separated. I don’t want any table changes in one app to impact the other.
Example: App 1 contains order entry. App 2 contains contact management. In App 2, I want to access the order history for a customer/contact. So, I create an order model in App 2 and set the table name to include the schema…e.g. set_table_name " schema1.orders".
However, I want both apps to have their own migrations. How do I tell Rails to use a particular schema when doing migrations, fixture loads, etc.?
Alternative(s):
The other reasonable option seems to be multiple database connections in each app, which I haven’t investigated much yet. I have read a little about the “magic” multi-connection stuff. I am just thinking the schema thing in Postgres might be a cleaner (read…easier for me) solution.
Any tips, alternatives, or berating on why not to pursue this would be appreciated.
Thanks, Nathan