所以我有一个电子商务网站,我的任务是将我的rails(4)应用程序与另一个网站(我们的制造供应商)联系起来,以显示订单并从他们那边更新库存。 Aka我需要在两个rails应用程序之间共享数据库和模型。供应商网站不仅仅是一个FYI,我必须从头开始构建它。
旁注:我知道自定义管理面板会更容易但是,我的老板,根本不知道技术,似乎坚持在单独的URL上使用这些,即使他拥有两家公司,我工作的那家公司制造公司。
我只需要一个路线图,或者只是一个正确的方向,因为我不确定我在寻找什么。只是一些关于如何做到这一点的可靠信息。
我目前使用heroku和AWS作为我现有的rails应用程序。 我使用PostgreSQL作为我的数据库。
答案 0 :(得分:2)
您需要使用establish_connection
我只做了一次这样的事情,所以下面可能是错的,但希望能给你一个想法。通过链接模型不确定你的意思。但是,这将允许您查询供应商数据库,并拥有与这些数据库相关的名称空间模型。
我在database.yml中为供应商数据库设置了一个条目(可能每个环境都有一个条目)
然后我会有一个基本供应商模型,所有其他模型继承自
res/values-w600dp
假设您将database.yml设置为vendor_development e.t.c
答案 1 :(得分:2)
Sharing database is very easy. Actually, it's just the same as not sharing database. You just put appropriate configuration in the database.yml
and declare models.
Now you might be thinking "hey, that's duplication of code! Why don't I just extract models in a gem or something?". To which I say, don't. Just duplicate what's necessary. It is very likely that in one app you'll need full-blown models, with validations, before/after_save hooks and whatnot. And the other app will only read data, so it doesn't need any of that extra complexity.