The software development group at my office has a shared database that developers connect to for their daily work. In the last few months, the number of developers has doubled, and the practice of using the shared database has not scaled well. It has caused frustration as members of one team make schema changes before another team can consume them. The resulting breakages has led to lost productivity. To make matters worse, the same database serves as a reference for the daily migration process. There’s always a chance that a junior developer (or anyone really) could make a mistake and kill migrations.
That gave me an idea for a post on why a shared database is bad. Really bad. Terribly bad. But a Google search showed others coming to the same conclusion, so instead of reiterating their points, I’ve included the links below.
In short, instead of using a shared database, put your schema and any seed data into source control.
The unnecessary evil of the shared development database