хранение значений базы данных в системе контроля версий - PullRequest
0 голосов
/ 29 июля 2010

В нашей базе данных есть таблица, в которой хранятся XSL и XSD, которые применяются к XML-документам, созданным в нашем приложении.Эта таблица версионирована в том смысле, что каждый раз, когда вносятся изменения, создается новая строка.

Я пытаюсь предложить, чтобы мы хранили XSL и XSD в виде файлов в нашей системе управления исходным кодом, а не полагались на базу данных для отслеживания истории.Каждый раз, когда файл обновляется, мы будем развертывать новую версию в базе данных.

Кажется, я не получаю особого согласия по этому вопросу.Кто-нибудь может мне помочь с плюсами и минусами этого подхода?Возможно, я что-то упустил.

1 Ответ

1 голос
/ 30 июля 2010

XSL и XSD файлы являются частью приложения и поэтому должны храниться под контролем исходного кода.Это просто очевидно.Даже если бы кто-то хотел классифицировать их как данные, они были бы справочными данными, и поэтому - по крайней мере, в моей книге - их нужно было бы держать под контролем источников.Это связано с тем, что справочные данные являются частью приложения и, следовательно, частью его конфигурации.Например, приложения, которые используют базу данных для хранения значений для раскрывающихся списков или для реализации бизнес-правил, должны быть уверены, что они содержат правильную версию данных.

Единственным аргументом для хранения нескольких версий файлов в базе данных может быть необходимость обработки старых версий файлов XML.Это зависит от характера вашего приложения.Конечно, я работал в системах, где файлы / сообщения XML поступали из внешних (сторонних) систем, где мы действительно не имели никакого контроля над форматом отправляемых сообщений.Поэтому по ряду причин нам нужно было иметь возможность обрабатывать входящий XML независимо от того, является ли его структура текущей или исторической.Но это в дополнение к хранению файлов в репозитории контроля версий, а не вместо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...