PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Актуализиране на postgreSQL DB чрез EFCore миграции в Azure DevOps

Най-накрая трябва да го поправя.

Има две решения, които намерих за отстраняване на проблема.

  1. Първо, има обща корекция за всички бази данни, които поддържат миграции на Entity Framework :
    • Използване на .NET Core Задача, ще трябва да инсталираме инструмента dotnet ef :Задачата ще изглежда така:

И това ще бъде YAML (в случай, че искате да го използвате извън конвейера за издаване):

 - task: [email protected]
  displayName: 'dotnet custom'
  inputs:
    command: custom
    custom: tool
    arguments: 'install --global dotnet-ef --version 3.1.4 --ignore-failed-sources'
  • И след като инсталираме необходимите инструменти, с CMD или Bash Задача, ще трябва да изпълним скрипт като този:
dotnet ef database update -c <DBCONTEXT> -p <PROJECT> -s <STARTUP_PROJECT> -v --no-build

Просто трябва да добавите флага -c в случай, че имате повече от един контекст във вашия проект (понякога другите DbContexts могат да идват от някои пакети за nugget).

Забележете, че добавих флага --no-build тъй като вече изградих проекта в процес на изграждане, за да следвам добрите практики.

  1. Другата опция (и тази, която най-накрая използвах), беше да използвам тази задача който основно извършва същия процес, с тази разлика, че го прави, като използва вашия вече компилиран .dll файлове, така че няма да се налага да копирате целия проект, за да накарате миграциите да работят. Настройката на задачата, въпреки че трябва да попълните много входове, е доста ясна и се предполага, че работи и с други бази данни.

Въпреки това, ако трябваше да използвам SQL Server или MySQL Бих използвал скрипт за миграция, тъй като процесът е много по-лесен (просто трябва да генерирате .sql скрипт и тогава това е единственият файл, необходим за внедряване на миграциите).




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PostgreSQL експортиран резултат като CSV от отдалечен сървър

  2. postgres генерира масив с помощта на слайд прозорец

  3. Обединяване на Postgresql връзки в Erlang

  4. Класът не е намерен, зарежда JDBC org.postgresql.Driver

  5. максимална стойност по редове (от n колони) - Елегантен подход