Так. Ви повинні мати можливість відновити будь-яку частину вашої системи з управління джерелами, включаючи базу даних (і я б також стверджував певні статичні дані).
Припускаючи, що ви не хочете мати інструмент для цього, я б запропонував вам включити наступне:
- Сценарії створення основних структур таблиці, включаючи схеми, користувачі, таблиці, ключі, параметри за замовчуванням тощо.
- Оновлення скриптів (або зміна структури таблиці, або переміщення даних з попередньої схеми на нову схему)
- Сценарії створення для збережених процедур, індексів, представлень, тригерів (не потрібно турбуватися про оновлення для них, оскільки ви просто перезаписуєте те, що було з правильним сценарієм створення)
- Сценарії створення даних для запуску системи (один користувач, будь-які статичні дані вибору, такі речі)
Усі сценарії повинні містити відповідні заяви про падіння та бути записаними, щоб їх можна було запустити як будь-який користувач (так, включаючи пов'язані префікси схеми / власника, якщо це доречно).
Процес оновлення / тегу / розгалуження має бути таким же, як і решта вихідного коду - мало сенсу робити це, якщо ви не можете пов’язати версію бази даних з версією програми.
До речі, коли ви говорите, що люди можуть просто оновити тестовий сервер, я сподіваюся, що ви маєте на увазі сервер розробки. Якщо розробники оновлюють тестовий сервер на ходу, то ви дивитесь на світ болю, коли справа доходить до розробки того, що потрібно випустити.