Do you have a "Schema Master"?

Last updated by Brady Stroud [SSW] about 1 month ago.See history

You have a website master right? This is the central point of contact if the site goes down. When developing an application, all members can code. However schema changes being done by many developers often can lead to trouble...

To avoid this problem, only one person (the "Schema Master") or the release pipeline should have permissions to upgrade the database.

Figure: The db_owner role is granted for one person only – the "Schema Master"

Who is the "Schema Master"? What do they do?

Figure: One person should be the 'Schema Master', on an average sized project (of 5-10 devs)

If your project has a database, you need to select a "Schema Master". This is the one person who should review all modifications to the database. These include:

The "Schema Master" in a development shop is often the lead programmer on the team. They are in charge of all database changes and scripts. Team members should still feel free to make changes, just get them double checked by the Schema Master.

Figure: The Applications Database stores version info in a table called _zsVersion

Figure: Only a "Schema Master" checks in the .sql files

Adam Cogan
We open source. Powered by GitHub