If feasible, how do you move the database backend of a Web application built with Rails 3.2 from PostgreSQL to Salesforce (or Database.com)?
It was decided by the management of my company, which has strong connections with Salesforce, to make the next iteration of our Web application built with Rails 3.2 use Salesforce or Database.com instead of PostgreSQL.
I'm asking here how it can be done, if possible, because there are few solutions that come to mind, each with its pros and cons:
gem sounds like an ideal solution to use Salesforce the same way ActiveRecord is used with various database backends. But the original repo was not updated for 4 years, and is only known to work with Rails 2. (Although, the fork by cloudbees
seems to be maintained well and it is indicated to work with Rails 3.)
gem is a client for Database.com, allowing Rails to communicate with the service via REST API. I don't see any specific integration with Rails, so transferring data via API while keeping a local PostgreSQL database as some sort of cache seems to be the only way to go with it. (The management prefers using only one database.) Also, using SQL-like statements via the API while not using Rails' great database abstraction layer just looks like it'll be a painful headache during development.
There is a Database.com foreign data wrapper
working with Multicorn for PostgreSQL. Sounds like it's ideal: just set the foreign data wrapper, export the data on Salesforce, and do everything else like usual. Rails wouldn't even know a thing. I'm just wondering if this is too good to be true, however.
The application is hosted on Amazon. (Why not Heroku, if they like Salesforce so much, right?) I'm still not confident about the differences between Salesforce and Database.com, so please bare with me.
Did anyone here had to deal with Salesforce as the database backend of Rails? Please let me know.
Thank you in advance!