У нас есть. NET Базовый проект, настроенный с папкой Migrations, содержащей несколько миграций, которые мы смогли успешно запустить в нашей базе данных разработки в прошлом, выполнив dotnet ef database update
. Однако сейчас мы пытаемся применить эти изменения к нашей промежуточной базе данных, и она не работает. Мы установили для нашей переменной ASPNETCORE_ENVIRONMENT
env значение Staging
, и когда мы пытаемся запустить миграцию, кажется, что она правильно настроена на Staging. Таблица dbo.__EFMigrationsHistory
создана в нашей промежуточной базе данных, но в ней нет записей. Также, когда мы запускаем dotnet ef migrations list
, мы получаем сообщение «Миграции не найдены». Даже если мы установим для переменной ASPNETCORE_ENVIRONMENT
значение Development
, мы получим тот же результат.
Мы выполнили все перечисленные выше команды dotnet ef
с подробным флагом и не получили никаких ошибок. Единственный вывод, который может показаться подозрительным, это No referenced design-time services were found
и No design-time services were found
, но мы не смогли определить, что нам нужно сделать, чтобы исправить эти проблемы.
Когда мы запускаем dotnet ef migrations add <migration name>
, он успешно генерирует файл миграции в папке Migrations, и когда мы запускаем dotnet ef migrations list
, появляется новая миграция, поэтому кажется, что наши старые миграции находятся в правильном месте. dotnet ef
по какой-то причине они просто не обнаруживаются.
В нашем .csproj
есть следующие пакеты:
<PackageReference Include="FlexLabs.EntityFrameworkCore.Upsert" Version="3.1.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="3.1.0">
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
<PrivateAssets>all</PrivateAssets>
</PackageReference>
<PackageReference Include="Microsoft.EntityFrameworkCore.InMemory" Version="3.1.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="3.1.0" />
<PackageReference Include="Microsoft.Extensions.Configuration" Version="3.1.0" />
<PackageReference Include="Newtonsoft.Json" Version="9.0.1" />
<PackageReference Include="StyleCop.Analyzers" Version="1.2.0-beta.113">
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
<PrivateAssets>all</PrivateAssets>
</PackageReference>
<DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools" Version="3.1.0" />
Есть мысли о том, почему мы не можем запустить наши существующие миграции?