Миграция базы данных EF Core - PullRequest
1 голос
/ 10 апреля 2020

Я знаю, что в ef core вы можете генерировать скрипт миграции от одной к следующей миграции. Допустим, у меня есть 5 миграций:

  1. Миграция1
  2. Миграция2
  3. Миграция3
  4. Миграция4
  5. Миграция5

Migration3 и Migration4 уже применены к базе данных, и я хочу создать сценарий для миграций 1, 2 и 5. Возможно ли это с помощью основных инструментов ef? Или, может быть, есть какие-то другие инструменты?

Ответы [ 2 ]

2 голосов
/ 10 апреля 2020

Если я правильно понял вашу проблему, вы хотите развернуть миграции в базу данных? Вы можете использовать. Net Core CLI для этого:

dotnet ef migrations script

Это сгенерирует скрипт SQL от этой миграции к последней миграции

dotnet ef migrations script xxx_name

Вы также можете сгенерировать SQL скрипт от миграции к указанной миграции.

dotnet ef migrations script from_migration to_migration
0 голосов
/ 10 апреля 2020

Каждая миграция основана на предыдущей и генерируется исходя из того, что все, что было до этого, уже существует. Было бы очень опасно применять миграции не по порядку или использовать что-то, кроме ядра EF, для изменения той части базы данных, которой вы управляете. При этом вы можете использовать команду dotnet ef migrations script для генерации скрипта, перемещающегося из одной миграции в другую. Он также будет включать в себя все миграции между ними:

dotnet ef migrations script <FromMigration> <ToMigration> -o "FileName"

...