Это вопрос дизайна.
Какова цель или полезность наличия таблицы «Версия» в базе данных, в которой хранится дата обновления и версия базы данных и / или приложений, которые к ней подключаются.
Например, следующий DDL ...
CREATE TABLE
[dbo].[Version]
(
FreshnessDate DATETIME,
DatabaseVersion VARCHAR(10),
ApplicationVersion VARCHAR(10)
)
... создает таблицу, в которой хранится некоторая базовая информация о версиях. В моей команде аргумент состоит в том, что нам это не нужно, потому что все разрабатывают (даже разработку баз данных) из одной и той же общей базы данных в сети (нам не разрешено иметь отдельные базы данных - даже пустые - в наших блоках разработки) .
Дополнительным аргументом против использования таблицы версий этого типа является то, что она не приносит пользы нашему процессу: мы разрабатываем базу данных для разработки, которая затем используется для создания одного огромного сценария, из которого определяются различия и выполняется обновление Сценарий генерируется (миграция выполняется вручную). Этот сценарий обновления затем запускается в общей базе данных QA, и после прохождения QA этот же сценарий запускается в производственной базе данных. Раз в квартал производственная база данных передается на серверы как QA, так и серверов разработки, чтобы синхронизировать данные, чтобы помочь с отладкой.
Обратите внимание, что нашим отделом управляет финансовый директор, который диктует требования к процессу. Этот вопрос, в частности, касается того, видит ли кто-то еще преимущества в таблице Version
или нет. Поскольку кто-то из нашей команды предположил, что это не нужно , потому что нашего процесса, я добавил наш процесс в этот пост.
У меня лично есть аргументы для этого, но я хочу получить некоторый совет и отзывы о том, является ли добавление такой таблицы случаем чрезмерного проектирования.
Спасибо!