I’m about to start working on a large Rails project at work, and hoped to seek advice on working with larger projects using the framework. Most of the tutorials and books I’ve read are written for a single developer working on the code; our project, though, will be worked on by several developers and other staff. One of the decisions I think we need to get right from the start is structuring our development database environment.
On other projects, we have worked with a single development database, so migrations and changes have been applied as required, and everyone’s database is up-to-date. With Rails’ migrations, we have the option of each developer working on their own local database, and merging migrations at commit to the repository. Alternatively, with a single development database, migrations could be applied as required, but would affect all developers regardless of the branch of code they are working on.
Both methods seem to carry their own risks of conflicts and breaking the database schema, so I thought I’d open it up for debate, and would greatly appreciate any advice. What are your tips for setting up and running a team project using Rails?