2013-05-09 2 views
0

Я очень впечатлен тем, что время пролета позволяет мне делать основные вещи: создавать схему с нуля и обновлять ее до определенной версии.Пролетной путь - способ сделать распределенным?

Я был немного расстроен всякий раз, когда случалось что-то необычное: у меня есть представление о клиенте, которое должно применяться к некоторым схемам; У меня есть версия ветви, у которой есть некоторые скрипты, которых нет в базовой версии; Я бы хотел запустить ту же установку на нескольких схемах.

Во всех этих случаях я вручную перемещаю файлы .sql, чтобы попытаться сделать разные вещи; это очень подвержено ошибкам, а пролетная дорога вообще не имеет прощения о чем-либо, изменяющемся в истории схемы. (Это заставляет меня немного беспокоиться об использовании пролетного пути для производственных схем, но это еще одна тема).

Похоже, что управление версиями базы данных наконец-то дошло до версии кода, например, 2000: у вас может быть одна строка изменений, и это отлично работает. Но так же, как DVCS расширил то, что вы могли бы сделать с экспериментированием и ветвлением, есть необходимость в управлении версиями баз данных, чтобы двигаться таким образом.

Является ли это что-то пролетным моментом, о котором мы думаем, работаем или у вас есть способы сделать это, что мне не хватает?

ответ

1

Не можете ли вы сохранить только один вид, но вместо этого использовать функцию переключения для каждого клиента? Таким образом, вы поддерживаете одну схему и все пользовательские представления, но разворачиваете логику в «функции». Затем в файле свойств или таблице базы данных вы просматриваете переключатель функции (true/false), чтобы определить, как присоединиться или построить SQL.

+0

Не исправить мою проблему, но спасибо, интересная идея. – orbfish

Смежные вопросы