sql >> Databáze >  >> RDS >> PostgreSQL

Aktualizace postgreSQL DB prostřednictvím migrací EFCore v Azure DevOps

Konečně to musím opravit.

K vyřešení problému jsem našel dvě řešení.

  1. 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.

  1. 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í).




  1. openrowset pro excel:můžeme přeskočit několik řádků?

  2. Najděte nejbližší odpovídající řetězce a jejich podřetězce pomocí SQL dotazu

  3. Protože data Null Value nejsou reflektivní

  4. MYSQL Geo Search s výkonem na dálku