Konečně to musím opravit.
K vyřešení problému jsem našel dvě řešení.
- Zaprvé existuje společná oprava pro všechny databáze, které podporují Migrace Entity Framework :
- Použití .NET Core Úkol, budeme muset nainstalovat nástroj dotnet ef :Úkol by vypadal takto:
A toto by byl YAML (v případě, že jej chcete použít mimo kanál vydání):
- task: [email protected]
displayName: 'dotnet custom'
inputs:
command: custom
custom: tool
arguments: 'install --global dotnet-ef --version 3.1.4 --ignore-failed-sources'
- A jakmile budeme mít nainstalovány požadované nástroje, s CMD nebo Bash Úkol, budeme muset spustit skript, jako je tento:
dotnet ef database update -c <DBCONTEXT> -p <PROJECT> -s <STARTUP_PROJECT> -v --no-build
Stačí přidat příznak -c v případě, že máte ve svém projektu více než jeden kontext (někdy mohou ostatní DbContexty pocházet z některých nuggetových balíčků).
Všimněte si, že jsem přidal příznak --no-build protože jsem již postavil projekt v procesu budování, abych se řídil osvědčenými postupy.
- Druhá možnost (a ta, kterou jsem nakonec použil), bylo použít tento úkol který v podstatě dělá stejný proces, s tím rozdílem, že to dělá pomocí již zkompilované .dll souborů, takže nebudete muset kopírovat celý projekt, aby migrace fungovaly. Nastavení úlohy, i když musíte vyplnit mnoho vstupů, je docela jednoduché a mělo by fungovat i s jinými databázemi.
Pokud bych však musel použít SQL Server nebo MySQL Použil bych migrační skript, protože proces je mnohem jednodušší (stačí vygenerovat .sql skript a pak je to jediný soubor potřebný pro nasazení migrací).