Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menggunakan migrasi pangkalan data di Golang?

Bagaimana untuk menggunakan migrasi pangkalan data di Golang?

WBOY
WBOYasal
2024-06-01 17:48:00403semak imbas

Menggunakan pemindahan pangkalan data di Golang memastikan pangkalan data disegerakkan dengan kod. Migrasi boleh dilakukan menggunakan perpustakaan seperti Ent atau Gormigrate: Menggunakan Ent: Pasang Ent. Hasilkan fail migrasi. Jalankan penghijrahan. Menggunakan Gormigrate: Pasang Gormigrate. Buat fail migrasi (termasuk fungsi migrasi ke atas dan ke bawah). Jalankan penghijrahan.

如何在 Golang 中使用数据库迁移?

Bagaimana cara menggunakan migrasi pangkalan data di Golang?

Migrasi pangkalan data ialah teknik untuk mengurus perubahan skema pangkalan data bagi memastikan pangkalan data sentiasa selari dengan kod. Di Golang, pemindahan pangkalan data boleh dilakukan menggunakan perpustakaan seperti [ent](https://entgo.io/docs/migrate/) atau [gormigrate](https://github.com/go-gormigrate/gormigrate).

Gunakan Ent untuk migrasi pangkalan data

Ent ialah ORM Golang yang menyediakan sistem migrasi terbina dalam. Untuk menggunakan Ent untuk pemindahan pangkalan data, ikuti langkah berikut:

  1. Pasang Ent:

    go get github.com/ent/ent/cmd/ent
  2. Jana fail migrasi:

    ent generate migration AddUser
  3. Jalankan migrasi:

    ent migrate
untuk migrasi hijrah

Gormigrate ialah perpustakaan pihak ketiga yang boleh digunakan untuk melakukan pemindahan pangkalan data di Golang. Untuk menggunakan Gormigrate, ikuti langkah berikut:

    Pasang Gormigrate:
  1. go get github.com/go-gormigrate/gormigrate/v2

  2. Cipta fail migrasi:
  3. touch migrations/001_add_user.go

  4. Tulis kod dalam fail migrasi:
  5. import (
     "github.com/go-gormigrate/gormigrate/v2/gormigrate"
     "gorm.io/gorm"
    )
    
    func Up(db *gorm.DB) error {
     type User struct {
         ID   uint `gormigrate:"primary_key"`
         Name string
     }
     return db.AutoMigrate(&User{})
    }
    
    func Down(db *gorm.DB) error {
     return db.Migrator().DropTable("users")
    }

    rreee
  6. Praktikal case

Andaikan kita mempunyai jadual pengguna dan skemanya telah berubah. Menggunakan Gormigrate, kita boleh mencipta fail migrasi seperti ini:

gormigrate -up

Menjalankan migrasi ini akan menambah lajur "kata laluan" baharu pada jadual "pengguna".

Atas ialah kandungan terperinci Bagaimana untuk menggunakan migrasi pangkalan data di Golang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn