Какой хороший способ опубликовать изменения определения базы данных из рабочей копии в рабочую копию базы данных? - PullRequest
0 голосов
/ 09 сентября 2011

Как я могу отслеживать изменения в базе данных разработки и применять эти изменения к производственной базе данных (SQL Server 2008)?

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

Есть ли какой-нибудь способ сделать "разную" операцию между двумя базами данных и изменениями определения слияния?

Я рассматривал репликацию слиянием, но не уверен, насколько хорошо она обрабатывает изменения схемы. Например, здесь: http://technet.microsoft.com/en-us/library/ms151870.aspx упоминается, что я принципиально не могу использовать SSMS для внесения изменений в определения, поскольку он удаляет и воссоздает таблицы, что недопустимо для опубликованных объектов.

Интеллектуальное программное обеспечение может сравнивать количество столбцов, типы, позиции и применять другие методы нечеткого сопоставления / логического вывода, чтобы выяснить, была ли таблица переименована или добавлена ​​новая таблица или изменено имя столбца, после чего она могла представить различия пользователю для подтверждения и автоматического применения.

Существует ли что-то похожее на то, что я описал выше, или я застрял, вспоминая, как сохранить операторы DDL в SSMS и запустить их вручную в рабочей базе данных?

1 Ответ

1 голос
/ 09 сентября 2011

Может быть, вам нужен инструмент миграции, например (например) FluentMigrator , который помогает отслеживать изменения базы данных в исходном коде.

Вот учебник изПервоначальный автор Fluent Migrator, объясняющий, что такое Fluent Migrator, почему он может вам понадобиться и как он работает.

Другой альтернативой будет то, что вы уже упоминали:

Умная частьПрограммное обеспечение может сравнивать количество столбцов, типы, позиции и применять другие методы нечеткого сопоставления / логического вывода, чтобы выяснить, была ли таблица переименована, добавлена ​​ли новая таблица или изменено ли имя столбца, после чего оно может представить пользователю различия дляподтверждение и автоматическое применение.

Я никогда не пробовал сам, но я видел множество рекомендаций для Redgate SQL Compare (который, очевидно, делает именно то, что вы просили) здесь, наПереполнение стека.

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