Golang でデータベース移行を使用すると、データベースがコードと確実に同期されます。移行は、Ent や Gormite などのライブラリを使用して実行できます。 Ent の使用: Ent をインストールします。移行ファイルを生成します。移行を実行します。 Gormaigrate の使用: Gormaigrate をインストールします。マイグレーションファイルを作成します(アップマイグレーション機能およびダウンマイグレーション機能を含む)。移行を実行します。
Golang でデータベース移行を使用するにはどうすればよいですか?
データベース移行は、データベース スキーマの変更を管理して、データベースが常にコードと同期していることを確認するための手法です。 Golang では、[ent](https://entgo.io/docs/merge/) や [gormite](https://github.com/go-gormaigrate/gormaigrate) などのライブラリを使用してデータベースの移行を実行できます。
データベースの移行には Ent を使用します
Ent は、組み込みの移行システムを提供する Golang ORM です。データベース移行に Ent を使用するには、次の手順に従います。
Ent をインストールする:
go get github.com/ent/ent/cmd/ent
移行ファイルを生成する:
ent generate migration AddUser
移行を実行する:
ent migrate
データベース移行に Gormite を使用する
ゴーマイグレーションは、Golang でデータベース移行を実行するために使用できるサードパーティ ライブラリです。 Gormaigrate を使用するには、次の手順に従います。
Gormite をインストールする:
go get github.com/go-gormigrate/gormigrate/v2
移行ファイルを作成する:
touch migrations/001_add_user.go
移行ファイルにコードを記述する:
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") }
移行を実行する:
gormigrate -up
実用的case
user テーブルがあり、そのスキーマが変更されたとします。 Gormite を使用すると、次のような移行ファイルを作成できます:
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") }
この移行を実行すると、新しい "password" 列が "users" テーブルに追加されます。
以上がGolang でデータベース移行を使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。