Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Best way to share ActiveRecord models and data between different Rails Apps?

I have several rails applications that will use the same core set of Models and data, for example:

  • Apps
  • Developers
  • Categories

Each app builds on top of this core data and uses it in different ways. For example, I might have something like this in another app:

  • Activity
  • Users
  • Apps (shared)
  • Developers (shared)
  • Categories (shared)

What is the best way to share the Models and data between them? The Apps, Developers and Category data will all be the same for every app so I would rather not have to duplicate the data in every app's database.

EDIT: I'm thinking through a couple of possible solutions:

  • Rails engines (would solve the duplicate Models in different apps problem, but not the shared data issue)
  • Using ActiveResource to access the core data (solves the shared data, but not the shared model issue)
like image 823
markquezada Avatar asked Nov 29 '10 22:11

markquezada


1 Answers

I'm using a shared database to solve the shared data problem between heroku and a server on EC2 which does some background processing I can't do on heroku. In my case I'm using the same application, but really all I'm doing is using delayed_job on the EC2, so I'm only using the models from the app there. If I were going to use them in another application, I would probably go through the trouble of creating a gem to use between them.

like image 67
Keith Gaddis Avatar answered Oct 23 '22 10:10

Keith Gaddis