So I have recently started to Ruby on Rails and as I have had some previous experience with Yii Framework, I faced some stuffs that are done completely differently (and to me, backwards!) in rails which I wanted to make sure if those are the right way of doing things.
So for example in Yii (and also some other frameworks) the overall idea is to generate an application off of a database. In Rails, it looks like the idea is to create database off of the application! I mean here in Rails, you define each model first and then the corresponding table in the database is created based on it. Everytime you need to modify a table, you have write a small script file in Rails and then run it to apply the modification on your tables.
This raises a couple questions for me:
1. Why?! I mean doesn't it make the database design & relationship management much more complicated than it needs to be? Isn't it not practical for really large databases with very complicated relationships?
2. Is is necessary to go that way? Is there any way in Rails to not go backwards?!
3. What's the advantage of this approach?
Putting that aside, my second question is about the login feature. In many frameworks it is an embedded feature once you create your application. Does Rails provide something alike?
P.S: Thanks in advance for your kind answers. I will come up with some more dumb questions as I move forward!