2014-02-10 2 views
2

У нас есть проект в MVC, в котором мы сделали с Фазе-IMVC сохранением двух различных моделей

Теперь Phase2, наши изменения в базе данных и модель EDMX файл будет изменяться в соответствии с развитием

также , ошибки и изменения будут одновременно установлены для Этапа I

Итак, как я могу сохранить мои EDMX файлы в производственном сервере и сервере разработки

ответ

3

EDMX файлы в производственном сервере и развитие сервера

Вам нужно использовать какое-то механизмы контроля версий TFS, и с надлежащим Ветвлением и слияния вы можете управлять разработки и производство версий - Read this article on TFS Branching. Кроме того, у вас есть Git и многие другие.

Также вам необходимо запланировать миграцию версий базы данных между версиями производства и разработки. Для этого EF имеет Migration techniques, который вы можете использовать.

1

У вас есть несколько вариантов для рассмотрения. Во-первых, и как предвестник любых других изменений, сделайте, как говорит @ramiramilu, и получите свой код под контролем источника.

После этого вы столкнулись с проблемой того, как обращаться с изменениями схемы базы данных, внесенными как часть ваших изменений. Вот некоторые маршруты, которые вы могли бы предпринять:

  1. Перейдите к первой разработке кода, чтобы вы могли использовать миграции баз данных. Я использовал Entity Framework как в первом, так и в первом режимах. Мой опыт заключается в том, что уменьшенная сложность функций миграции баз данных намного перевешивает любую воспринимаемую выгоду от наличия визуальной модели отображения между вашим кодом и вашей базой данных. Существуют также инструменты для смены модели с вашего кода, если вам нужно.
  2. Сохраняясь с помощью первого подхода к модели, вы можете посмотреть создание сценариев SQL-обновления, которые обеспечивают дельта базы данных между развертываниями. Затем они будут добавлены в папку с каким-либо соглашением об именах, чтобы указать порядок, в котором они должны применяться (например, yyyymmdd-descripion.sql). Один из способов генерации дельт - использовать инструмент Schema Compare в Visual Studio. Вы можете сохранить текущую версию базы данных в качестве проекта базы данных в своем решении, хотя здесь существует опасность несогласованности между проектом БД и базой данных, которая будет создана из модели.
  3. Снова придерживаясь первого подхода к модели, вы можете создать сценарий дельта-SQL во время развертывания, используя, например, SQLPackage.exe. Это имеет то преимущество, что вам не нужно поддерживать набор дельта-скриптов и решать проблемы, связанные с пониманием того, в какой версии набора дельт находится конкретная база данных. Недостаток заключается в том, что если сценарий дельта нуждается в некоторой модификации перед запуском (как это может быть в сценариях, где есть много данных или какая-то необычная схема), ваше общее время развертывания становится больше.

В целом, я бы рекомендовал рассмотреть вариант 1, первый вариант разработки кода.

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