Как другие сказали, это - stackoverflow вопрос..., но эй, в то время как я здесь...
Изучите, как современные платформы разработки веб-приложения решают эту проблему. Направляющие имеют потрясающий способ иметь дело с ним, названный "миграциями", который в основном требует, чтобы Вы описали каждую свою схему, изменяется отдельно, затем отслеживает текущую версию схемы и применяет изменения схемы, требуемые принести базу данных в синхронизацию с тем, что должно быть текущей действительностью. Это - судьбоносная функция.