Я получаю эту ошибку на своем производственном сервере, но локально приложение работает нормально

Миграция включена для контекста ApplicationDbContext, но база данных не существует или не содержит сопоставленных таблиц. Используйте миграцию для создания базы данных и ее таблиц, например, запустив команду «Обновить базу данных» из консоли диспетчера пакетов.

Кто-нибудь может объяснить, почему?


person user3338734    schedule 08.02.2016    source источник
comment
Этот пост в блоге предлагает обходной путь: ef6-если-миграция-включена-не-может-создатьбазу данныхеслинетсуществует   -  person Georg Patscheider    schedule 08.02.2016
comment
Какой инициализатор вы используете в PROD? Были ли применены миграции к PROD?   -  person Steve Greene    schedule 08.02.2016
comment
Я не уверен, что применил миграцию к PROD. Я просто перетащил все файлы с локального сервера на рабочий сервер и изменил строку подключения на производственную базу данных.   -  person user3338734    schedule 08.02.2016


Ответы (1)


Если ваша система dev работает, а prod — нет, вы можете сгенерировать скрипт, чтобы вернуть их в синхронизацию:

update-database -Script –SourceMigration $InitialDatabase

Это создаст идемпотентный скрипт, который проверит, что было применено, а что нет. Теперь используйте SQL Server Management Studio, чтобы применить этот сценарий.

https://msdn.microsoft.com/en-us/data/jj591621.aspx?f=255&MSPPError=-2147217396#idempotent

person Steve Greene    schedule 09.02.2016
comment
Спасибо, я сделал это вчера, и это сработало. Спасибо подумал - person user3338734; 09.02.2016
comment
Также перед этим я забыл установить свой первоначальный каталог в базу данных и забыл установить для пользователя базы данных по умолчанию правильную базу данных. Но как только я сделал это, я сделал выше, и это сработало отлично. Спасибо! - person user3338734; 10.02.2016