I am looking at Rails for two days. I already use ZF (Zend Framework),
Codeigniter and ELGG.
My big concern is the ORM's.
In a real world application, you don't just play with one table at a
time. You have to write long SQL requests, with several tables : Using
ZF (Zend Framework) ou Codeigniter, I realized that the batabase layer
becomes a real pain in the ass.
Instead of writing a simple SQL request, you write a complicated set of
methods' invocations (with options...).
The resulting code is not easy to read. You think : I should write an
easy to read SQL request!
Some says : yes, but by using the database abstraction, you can change
you database easily (ex : from MySql to SQLServer)!
OK, but... Did you ever change your database ?
If you really need to migrate from MySql to SQLServer, then it means
that you have a *deep* problem. You may need to restructure your
And what about "migrations" ?
Migrations keep track of structure's changes. OK, but why don't you just
keep your database's schema under SVN (or Git) ?
Migrations can be used to change the database's content. OK, but
everything is not reversible. And, by the way, you should always work on
the testing environment.
So, my question is :
Do you really use all the Rails' tools to manage your database ?
Can you use Rails without Active Record ?