I have been asked to write front-end for an accounting system that would allow customers to view their bill and pay online, reconcile their bill, add/delete people that they are paying for etc. The database that I need to use is already in existence and is SQL Server 2008; has anyone had experience doing this sort of project? I would be interested to know how you proceeded. I am using a Mac and most everything I have read is that I should be developing this on a windows box and on the same machine as the database which doesn’t make much sense.
I am trying to figure out the best way to get started but seem to be having a mental block.
Rails apps can definitely talk to SQL Server 2008, and you can develop
the Rails app on our mac like normal. You can probably use sqlite in
development mode, and use sql server in production, but there are a
few things to keep in mind:
1. You'll need to get the SQL Server activerecord adapter, and
reference it from your database.yml
2. SQL Server won't run on a Mac, so you'll need to somehow access an
instance of sql server to test with. If they can give you the full
DSN string to their server (hopefully a testing server), you'll be all
set.
3. If you're expected to follow non-Rails standards for table/column
naming conventions, you'll have to just make sure you tell your model
classes about it.
Here's a good post about setting up your database.yml for sql server:
All good stuff, and let me add one thing, based on my experience with
an app that's primarily developed on MRI/MySQL and deployed on a
JRuby/Oracle platform -- write tests like there's no tomorrow
You will almost certainly find cases where the adapters for those two
respective DBs behave differently; good tests will help you determine
whether it's an adapter bug or a logic bug in your app.