Миграция базы данных в существующей большой базе данных

Возможно ли начать использовать среду миграции, такую ​​как RikMigrations или Tarantino в существующей большой устаревшей базе данных? Схема все еще постоянно корректируется, поэтому я надеялся использовать миграции для управления этими настройками.

База данных SQL Server 2008 и имеет 600 таблиц, 300 представлений и 2000 хранимых процедур? Я просто немного обеспокоен тем, что первоначальная миграция, чтобы добраться туда, где мы сейчас, будет непрактичной / медленной / подверженной ошибкам?


person Dan    schedule 05.04.2011    source источник
comment
Я бы подумал, что это зависит от имеющихся у вас ресурсов. Хотя, если его постоянно подправлять, это усложнит задачу.   -  person bendemes    schedule 05.04.2011
comment
+1 при поиске ответа на этот вопрос :)   -  person Elad Lachmi    schedule 05.04.2011
comment
что вы имеете в виду под осуществимым? Если есть возможность, я бы не хотел трогать такую ​​бд. Но если систему необходимо расширить, что еще вы сделаете с ее данными, кроме миграции?   -  person user492238    schedule 05.04.2011
comment
@bendemes миграции должны были реализовать эти настройки. Почему это усложнит задачу?   -  person Dan    schedule 05.04.2011
comment
@user49 user49 Ив отредактировал мой вопрос, стало ли это яснее?   -  person Dan    schedule 05.04.2011
comment
@ Дэн, забудь, что мой комментарий явно не соответствовал тому, о чем ты спрашивал. Поправки делают это намного понятнее. Я не использовал ни одну из этих платформ, поэтому не могу помочь с фактическим вопросом, но вам может быть интересно отметить, что мы используем инструмент RedGate SQL Compare, который помогает создавать сценарии обновления для наших баз данных.   -  person bendemes    schedule 05.04.2011


Ответы (1)


Почему бы не контролировать версии вашей базы данных и не отслеживать изменения таким образом? У Red Gate есть отличные продукты для управления изменениями в базах данных:

  • Контроль версий SQL: версия управляет вашей базой данных (почти любой VCS: Mercurial, Git, SVN и т. д.) и упрощает разработку баз данных в команде, поскольку вы можете иметь свои собственные выделенные базы данных для работы. С помощью этого инструмента вы также можете управлять версиями своих статических данных.
  • Сравнение SQL: используется для сравнения двух баз данных (скажем, версии управления по сравнению с вашей базой данных TEST или PRODUCTION), экспортировать скрипты и синхронизировать базы данных
  • Сравнение данных SQL: используется для сравнения статических эталонных данных. требуется вашим приложениям (например, значения перечисления, списки стран и т. д.)

Благодаря этим инструментам наша команда работала намного продуктивнее, и изменения в базе данных выполнялись с большей уверенностью. Я написал пару сообщений об этом здесь: http://davidduffett.net/post/4663483715/database-continuous-integration-and-deployment-with-red

person David Duffett    schedule 09.05.2011