EF6 Схема сравнить между dataase и sql-файлом? - PullRequest
0 голосов
/ 19 апреля 2019

Я использую подход, основанный на модели EF6, для проектирования базы данных MS SQL с помощью «Создать базу данных из модели ...» в Visual Studio.Это создает sql-файл со всеми операторами drop и create.

На некотором продуктивном этапе, когда база данных заполнена записями, я не хочу, чтобы все таблицы отбрасывались и создавались заново, их схема должна обновляться на месте.без необходимости резервного копирования и восстановления всех записей.Вот где я нашел, что EF Migrations были бы полезны.

Как я читал, EF-миграции подходят только для подхода, основанного на коде, поэтому не то, что мне нужно.

Следующая остановка - инструмент сравнения схемв Visual Studio, из которой я думаю, могло бы подойти.Но, к сожалению, у меня нет двух баз данных для сравнения, я хочу сравнить существующую базу данных с новой моделью EF (или сгенерированный из нее SQL-файл), чтобы получить SQL-файл для развертывания только изменений таблиц.

Возможно ли это вообще, и если да - куда мне смотреть?

спасибо

1 Ответ

1 голос
/ 19 апреля 2019

Для этого не существует инструмента EF от Microsoft, не то, что они созданы для проектов SQL и dacpacs.

У нас была аналогичная потребность в том, чтобы производственные схемы не отличались до уровня ошибок времени выполнения, поэтому я написал одну: https://github.com/reckface/EntityFramework.Verify

В этом обзоре кода вопрос. Он не генерирует SQL для исправления различий, но уведомляет вас о различиях.

...