Получить файл SQL для конкретной миграции в Entity Framework 6 C#
В Entity Framework 6 мне нужно получить сценарий SQL для конкретного файла миграции, и я уже обновляю базу данных. Я нашел это в update-database
Команда Я могу добавить параметр сценария для экспорта в SQL, но я уже обновил базу данных. Я нашел в Entity Framework Core команду под названием Script-Migration
с именем скрипта в качестве аргумента. Есть ли подобная команда в Entity Framework?
я также попробовал ниже, и я получил пустую команду обновления базы данных файла SQL
5 ответов
Да, вы могли бы сделать следующее:
Update-Database -Script -SourceMigration: <pointFromWichYouWantToStartWithGeneration> -TargetMigration: <pointWhereToEndWithGeneration>
Чтобы создать скрипт для всех миграций, выполните следующее:
Update-Database -Script -SourceMigration: $InitialDatabase
Вместо применения изменений к базе данных будет создан файл сценария SQL. Поэтому вы можете сгенерировать SQL Script, даже если миграция уже применена к базе данных.
Здесь вы можете найти больше информации об этом - Entry Framework Code First Migrations - Получение сценария SQL.
Запустить
Update-Database
команда, но на этот раз укажите–Script
помечать, чтобы изменения записывались в сценарий, а не применялись. Мы также определим исходную и целевую миграцию, для которой будет создан скрипт.
Если вы сейчас используете ядро .net
Script-Migration -From <PreviousMigration> -To <LastMigration>
Если вы хотите сгенерировать -Script для миграции N, укажите -SourceMigration N-1 (предыдущая миграция) и -TargetMigration N
Вы можете запустить следующую команду из консоли диспетчера пакетов. Он сгенерирует временный файл и откроет его в VS:
Script-Migration
Следующее создает сценарий SQL из данной миграции в последнюю миграцию с помощью VS > Консоль диспетчера пакетов (используйте имя миграции перед последней, чтобы получить только последний сценарий миграции).
Script-Migration <PreviousMigrationName>
Если у вас есть только один файл миграции, следующий сценарий генерирует SQL-скрипт из пустой базы данных в последнюю миграцию:
Script-Migration