ВНИМАНИЕ: ДОЛГО ВОПРОС.
[ВОПРОС]
Если стратегия состоит в том, чтобы иметь ветвь для каждой базы данных, как описано в задаче ниже, где сценарии управляются версиями.
Как вы справляетесь с проблемами переноса данных при попытке консолидировать в меньшее количество филиалов?
Это просто издержки, которые вы несете за перенос данных?
По сути, сценарии преобразования должны быть созданы во время миграции.
Есть ли лучший способ?
Можем ли мы решить обе проблемы одновременно?
Какая лучшая практика?
* +1029 *
* * тысяча тридцать-один [ФОН] * ** 1033 тысяча тридцать-дв ** 1 034 *
На моем рабочем месте у нас есть продукт, который имеет 3 филиала. Mainline с изменениями «ПОСЛЕДНИЕ И БОЛЬШИЕ», которые не обязательно готовы к выпуску.
Версия B (имена были изменены для защиты виновных)
Версия A (имена были изменены для защиты виновных)
Магистраль
Из-за этих веток фактически существует 3 версии базы данных.
Контроль версий кода довольно прост, однако контроль версий баз данных кажется сложным.
Прочитав Используете ли вы контроль исходного кода для элементов вашей базы данных?
Кажется, лучший способ - экспортировать все сценарии создания для каждого объекта / таблицы.
ПРИМЕЧАНИЕ. Как вы управляете этим, одним большим или несколькими сценариями или гибридом, ваши предпочтения согласно статье.
Я согласен с этим и спросил, почему это не сделано.
В настоящее время администраторы баз данных отказываются разбивать скрипты на ветки.
Помимо лени в качестве оправдания, причина заключается в экономии времени при переносе данных.
Эффективно изменения базы данных принудительно поддерживаются во всех версиях.
Все сценарии контролируются версиями и поддерживаются только в основной строке.
Версия A и версия B имеют свой собственный специальный файл, в котором указывается, какие сценарии изменяются для запуска в соответствующих ветвях. Проблема возникает, когда есть сценарий изменения, например, примененный к Версии A, но Версия B требует только части изменений. Разработчик должен сообщить администраторам баз данных обновить файл, в котором указано, какие исправления применять для каждой ветви. Для сценариев изменений, в которых требуется слишком много ручного вмешательства, необходимо вручную применить часть сценария изменений.
Для обновления базы данных в Версии A все исправления извлекаются вместе с Версией A. Какой патч для применения файла.
[СЦЕНАРИЙ]
Существуют 3 версии выше.
Изменения базы данных происходят в версии A.
Консолидация ветвей, когда код объединяется из Версии B в A, так что Версию B. можно удалить.
То же самое должно произойти с базой данных.
Надеюсь, это имеет смысл.