Недавно я начал работать с контролем версий в своей веб-разработке с использованием Subversion. Это прекрасно работает для управления файлами, которые я разрабатываю, но ничего не делает для изменений, которые мне иногда нужно внести в базы данных. Насколько мне известно, на сервере, на котором я работаю, нет никаких систем управления БД, и я, вероятно, не смог бы заставить их установить что-либо. Какие есть варианты для управления БД в такой среде?
database
version-control
Кеннет
источник
источник
Ответы:
К. Скотт Аллен написал несколько отличных постов в блоге об этом несколько лет назад. Они могут быть «старыми» в интернет-терминах, но его решение все еще очень приятно.
источник
Среды миграции - это библиотеки кода, которые предоставляют простой API для автоматизации изменений в БД с некоторым механизмом управления версиями БД.
Я использую Migrator.Net для некоторых проектов. Я создаю класс для каждого набора изменений, и инфраструктура предоставляет простой способ выполнения изменений в БД. Я также могу запускать изменения вперед и назад, при условии, что я создаю логику для понижения и обновления.
Затем мы управляем кодом миграции в нашей VCS, как и любой другой код.
источник
Ночные резервные копии, конечно (по крайней мере). Потому что вам важна не только структура БД.
У вас есть несколько вариантов:
1) Держите ваши сценарии изменения в элементе управления источником.
2) После каждого изменения БД генерируйте сценарии БД .. и сохраняйте их в системе управления версиями одновременно с резервной копией БД. Таким образом, вы можете сравнить файл Generated Script.
источник