dbo .__ Таблица миграции не обновляется при публикации из Visual Studio - PullRequest
0 голосов
/ 01 января 2019

У меня проблема с таблицей dbo .__ MigrationHistory, которая не обновляется при новых миграциях баз данных, НО сама база данных корректно обновляется с соответствующими изменениями.Это означает, что сайт не загружается из-за того, что он обнаруживает изменение в контексте - и мне нужно вручную вставить новые изменения в таблицу dbo .__ MigrationHistory, чтобы он загрузился.

Когда я публикую в Azure изVisual Studio все отлично работает на моем сайте ПРОИЗВОДСТВО.Однако проблема возникает только на моем сайте TEST (который имеет другой профиль публикации).

Я установил флажок ВЫПОЛНИТЬ КОД ПЕРВЫХ МИГРАЦИЙ в профиле публикации в профилях публикации TEST и PRODUCTION.Действительно, оба профиля публикации кажутся идентичными, за исключением отправки на другой сайт.

В случае, если это помогает - всякий раз, когда это происходит, моя база данных localdb SqlServer также становится неприкрепленной во время публикации.Поэтому на моем локальном ПК я должен вернуться и снова присоединить файл базы данных .mdf в студии управления SQL-сервером.

Любая помощь / совет, который вы можете предложить, была бы удивительной.

1 Ответ

0 голосов
/ 28 января 2019

У меня был ряд случаев, когда миграции Entity Framework оставляли состояние миграций в непригодном для использования состоянии.Обычно это происходит после того, как большое количество миграций было применено разными разработчиками и застряло там, где мы не можем обновить базу данных новыми миграциями или откатиться.

Просто удалить миграции и начать счистое состояние из текущей схемы.

Если вы идете по пути сброса миграций, убедитесь, что вы создали резервную копию своего кода и сделали хорошие резервные копии своей базы данных.

В итоге,Для этого выполните следующие действия:

  1. Удалите таблицу _MigrationHistory из базы данных
  2. Удалите отдельные файлы миграции в папке Migrations вашего проекта
  3. Enable-Migrations в диспетчере пакетовКонсоль
  4. Начальная миграция добавления в консоли диспетчера пакетов
  5. Закомментируйте код внутри метода Up в начальной миграции
  6. База данных обновления в консоли диспетчера пакетов (ничего не делаетно создает запись миграции)
  7. Удалить комментарии в методе Initial

Это не идеальный обходной путь, но это решит вашу проблему.

PS- Обычно это происходит, когда кто-то обновляет БД с локальной машины и выходит из строя.синхронизации

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...