Wie verwende ich die Datenbankmigration in Golang?

WBOY
Freigeben: 2024-06-01 17:48:00
Original
375 Leute haben es durchsucht

Durch die Verwendung der Datenbankmigration in Golang wird sichergestellt, dass die Datenbank mit dem Code synchronisiert wird. Die Migration kann mithilfe von Bibliotheken wie Ent oder Gormigrate durchgeführt werden: Mit Ent: Ent installieren. Generieren Sie Migrationsdateien. Führen Sie die Migration aus. Verwendung von Gormigrate: Installieren Sie Gormigrate. Erstellen Sie Migrationsdateien (einschließlich Auf- und Abwärtsmigrationsfunktionen). Führen Sie die Migration aus.

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

Wie verwende ich die Datenbankmigration in Golang?

Datenbankmigration ist eine Technik zum Verwalten von Datenbankschemaänderungen, um sicherzustellen, dass die Datenbank immer mit dem Code synchronisiert ist. In Golang können Datenbankmigrationen mithilfe von Bibliotheken wie [ent](https://entgo.io/docs/migrate/) oder [gormigrate](https://github.com/go-gormigrate/gormigrate) durchgeführt werden.

Verwenden Sie Ent für die Datenbankmigration

Ent ist ein Golang-ORM, das ein integriertes Migrationssystem bietet. Um Ent für die Datenbankmigration zu verwenden, befolgen Sie diese Schritte:

  1. Ent installieren:

    go get github.com/ent/ent/cmd/ent
    Nach dem Login kopieren
  2. Migrationsdatei generieren:

    ent generate migration AddUser
    Nach dem Login kopieren
  3. Migration ausführen:

    ent migrate
    Nach dem Login kopieren

Verwenden Sie Gormigrate für die Datenbankmigration

Gormigrate ist eine Drittanbieterbibliothek, die zur Durchführung von Datenbankmigrationen in Golang verwendet werden kann. Um Gormigrate zu verwenden, befolgen Sie diese Schritte:

  1. Installieren Sie Gormigrate:

    go get github.com/go-gormigrate/gormigrate/v2
    Nach dem Login kopieren
  2. Erstellen Sie eine Migrationsdatei:

    touch migrations/001_add_user.go
    Nach dem Login kopieren
  3. Schreiben Sie Code in die Migrationsdatei:

    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")
    }
    Nach dem Login kopieren
  4. Führen Sie die Migration aus:

    gormigrate -up
    Nach dem Login kopieren

Praktisch Fall

Angenommen, wir haben eine Benutzertabelle und ihr Schema hat sich geändert. Mit Gormigrate können wir eine Migrationsdatei wie diese erstellen:

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
        Password string
    }
    return db.AutoMigrate(&User{})
}

func Down(db *gorm.DB) error {
    return db.Migrator().DropColumn("users", "password")
}
Nach dem Login kopieren

Durch die Ausführung dieser Migration wird der Tabelle „Benutzer“ eine neue Spalte „Passwort“ hinzugefügt.

Das obige ist der detaillierte Inhalt vonWie verwende ich die Datenbankmigration in Golang?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!