【发布时间】:2012-08-24 17:03:50
【问题描述】:
我正在重构一个当前使用数据库和 ActiveRecord 的 Rails 应用程序,以便它使用 JSON API (Sinatra) 而不是数据库。
重构模型的最佳方法是什么? API 将返回所有与数据库相同的信息。事实上,它是同一个数据库,但为了可扩展性和需要访问数据的多个应用程序,我们需要将其转换为 API。理想情况下,只有模型需要更改,理想情况下我可以在 rails 应用程序中保留一些验证。
如何更改模型,以便它们通过 API 调用而不是 ActiveRecord 数据库调用来检索和保存实例?
【问题讨论】:
-
如果它是同一个数据库,为什么你的应用程序和 api 服务器不能同时连接到它?可能是同一笔交易可以救你
-
从技术上讲可以,但让两个应用程序影响同一个数据库是不好的做法,尤其是当其中一个应用程序的迁移会影响另一个时。
-
是的,这肯定会是一个问题,但我认为即使您尝试覆盖基本的活动记录功能,这也会是一帆风顺的。可能将应用程序迁移到 api 也可能会消耗等量的时间。只是一个松散的预测。
标签: ruby-on-rails-3 api single-responsibility-principle