Ответ 1
В консоли консоли диспетчера пакетов:
Get-Help Update-Database
Релевантная часть:
Update-Database [-SourceMigration <String>] [-TargetMigration <String>] [-Script] [-Force] [-ProjectName <String>] [-StartUpProjectName <String>] [-ConfigurationTypeName <String>] [-ConnectionStringName <String>] [<Com
monParameters>]
Итак, вы можете сделать Update-Database -ConnectionStringName "MyConnectionString"
, и он должен работать как шарм.
У вас также есть инициализатор базы данных MigrateDatabaseToLatestVersion
, если вы установите его (через Dabase.SetInitializer()
), при развертывании вашего приложения на производстве с соответствующей строкой соединения, при доступе frist db он должен автоматически переносить ваш db на последнюю версию.
Я предлагаю осторожность, но всегда делаю резервные копии.
Update
@Последние комментарии Alexey Strakh породили еще один аргумент, заслуживающий ответа.
Правильная настройка системы развертывания с использованием First First Migrations, учитывая 2 ConnectionString
s.
- Определите свои строки подключения в web.config(prod и dev), с паролями по умолчанию
- Узнайте конфигурационную систему вашего приложения о конфигурациях подключения prod и dev, произвольно создайте модульные тесты, чтобы убедиться, что выбран правильный. *
- Используйте конфигурационное преобразование файла и преобразуйте его в web.config в файл с производственными значениями
- Разверните свой пакет для производства (это должно быть самым передовым способом)
Вы не должны взаимодействовать с производственной средой из своего окна разработки, но если вам нужно действительно, то сделайте это временное решение, которое нужно вернуть, сделанный.
Другой вариант - просто использовать Web.Debug.config и Web.Release.config и иметь центральный шаблон для основного web.config(который будет единственным, который вы зарегистрируете в своем исходном элементе управления).
Просто убедитесь, что никогда не проверяйте производственные или персональные пароли (если любой).
* Вы можете использовать символ DEBUG, чтобы проверить, как работает приложение.