PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Memperbarui DB postgreSQL melalui migrasi EFCore di Azure DevOps

Saya akhirnya harus memperbaikinya.

Ada dua solusi yang saya temukan untuk memperbaiki masalah ini.

  1. Pertama, ada perbaikan umum untuk semua database yang mendukung Migrasi Kerangka Entitas :
    • Menggunakan .NET Core Tugas, kita harus menginstal alat dotnet ef :Tugasnya akan terlihat seperti ini:

Dan ini akan menjadi YAML (jika Anda ingin menggunakannya di luar jalur rilis):

 - task: [email protected]
  displayName: 'dotnet custom'
  inputs:
    command: custom
    custom: tool
    arguments: 'install --global dotnet-ef --version 3.1.4 --ignore-failed-sources'
  • Dan setelah kami memasang alat yang diperlukan, dengan CMD atau Bash Tugas, kita harus menjalankan skrip seperti ini:
dotnet ef database update -c <DBCONTEXT> -p <PROJECT> -s <STARTUP_PROJECT> -v --no-build

Anda hanya perlu menambahkan bendera -c jika Anda memiliki lebih dari satu konteks dalam proyek Anda (terkadang DbContext lain dapat berasal dari beberapa paket nugget).

Perhatikan saya menambahkan bendera --no-build karena saya sudah membangun proyek dalam alur pembangunan untuk mengikuti praktik yang baik.

  1. Opsi lain (dan yang akhirnya saya gunakan), adalah menggunakan tugas ini yang pada dasarnya melakukan proses yang sama, perbedaannya dengan menggunakan .dll Anda yang sudah dikompilasi file, jadi Anda tidak perlu menyalin seluruh proyek untuk membuat migrasi berfungsi. Penyiapan tugas, meskipun Anda harus mengisi banyak input, ini cukup mudah, dan seharusnya berfungsi dengan Basis Data lain juga.

Namun, jika saya harus menggunakan SQL Server atau MySQL Saya akan menggunakan skrip migrasi, karena prosesnya jauh lebih mudah (Anda hanya perlu membuat .sql script dan itu satu-satunya file yang diperlukan untuk menyebarkan migrasi).




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Postgres.app Tidak dapat memulai pada port 5432

  2. Driver Postgres log JBoss tidak sesuai dengan JDBC

  3. Bagaimana Now() Bekerja di PostgreSQL

  4. Cara membuat SUM tanpa grup by

  5. String_agg untuk beberapa kolom