Які методи існують для обробки управління змінами БД? [зачинено]


9

Нещодавно я почав працювати з контролем версій у своїй веб-розробці за допомогою підривної роботи. Це чудово підходить для управління файлами, які я розробляю, але нічого не робить для змін, які мені іноді потрібно внести до баз даних. Наскільки мені відомо, на сервері, над яким я працюю, немає встановлених систем управління БД, і я, швидше за все, не зміг би змусити їх встановити нічого. Які існують варіанти управління БД в такому середовищі?



1
@Jeff O Ця нитка, яку ви запропонували, стосується більше змістовного вмісту, а не версії структури бази даних, яку я хотів би відстежувати. Дякую хоча за пропозицію!
Кеннет

Відповіді:


9

К. Скотт Аллен написав кілька чудових дописів у цьому блозі кілька років тому. Вони можуть бути "старими" в Інтернеті, але його рішення все ще дуже приємне.

  1. Три правила роботи з базою даних
  2. Базова лінія
  3. Зміна сценаріїв
  4. Погляди, збережені процедури тощо
  5. Розгалуження та об'єднання

3

Міграційні рамки - це бібліотеки кодів, які надають простий API для автоматизації змін БД, з деяким механізмом версії БД.

Я використовую Migrator.Net для деяких проектів. Я створюю клас для кожного набору змін, і фреймворк забезпечує простий спосіб виконання змін відносно БД. Я також можу запускати зміни вперед і назад, за умови, що я кодую логіку пониження рівня, а також оновлення.

Потім ми управляємо міграційним кодом у нашому VCS, як і будь-який інший код.


1

Нічні резервні копії звичайно (принаймні). Тому що це не лише структура БД, про яку ви дбаєте.

У вас є кілька варіантів:

1) Зберігайте свої сценарії alter у контролі Source.

2) Після кожної зміни db генеруйте сценарії Db .. та зберігайте їх у керуванні джерелами разом із резервною копією БД. Таким чином можна порівняти файл згенерованого сценарію.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.