Сначала развертывать базовый код Entity Framework
Думаю, я должен был подумать об этом, прежде чем начать свой проект, но я успешно построил и протестировал мини-приложение, используя первый подход кода, и я готов развернуть его на веб-сервере производства.
Я переместил папку на мой промежуточный сервер, и все работает хорошо. Мне просто интересно, есть ли предлагаемая стратегия развертывания?
Если я внес изменения в приложение, я не хочу потерять все данные, если приложение перезагрузилось.
Должен ли я просто генерировать сценарии БД из первого проекта кода, а затем переместить его на мой сервер?
Полезны любые советы и справочные ссылки.
Спасибо.
Ответы
Ответ 1
Фактически инициализатор базы данных предназначен только для разработки. Развертывание такого кода для производства - лучший способ получить некоторые проблемы. Code-first в настоящее время не имеет никакого подхода к эволюции базы данных, поэтому вы должны вручную создавать сценарии изменений в своей базе данных после новой версии. Самый простой подход - использование инструментов базы данных в VS Studio 2010 Premium и Ultimate. Если у вас будет база данных со старой схемой и база данных с новой схемой, а VS подготовит для вас изменение script.
Ответ 2
Вот шаги, которые я выполняю.
- Прокомментируйте любую стратегию инициализации, которую я использую.
- Сгенерировать сценарии базы данных для данных схемы + для всех таблиц. ИСКЛЮЧИТЬ таблицу EdmMetadata и запустить их на веб-сервере. (Конечно, если это производственный сервер, БУДЬТЕ ОСТОРОЖНЫ об этом шаге. В моем случае, во время разработки данные в производстве и разработке идентичны.)
- Завершите мое решение для subversion, которое затем запускает TeamCity для сборки, тестирования и развертывания на веб-сервере (конечно, у вас будет свой собственный метод для этого шага, но каким-то образом разверните веб-сайт на веб-сервере).
- Вы все закончили!
Таблицы Initializer и EdmMetadata необходимы только для разработки.