Go言語のインストール
Go言語のインストールは非常に簡単で、以下の手順で行うことができます。
- 最初に、公式のGo言語のダウンロードページから最新のバージョンをダウンロードします。
wget https://golang.org/dl/go1.16.3.linux-amd64.tar.gz
- 次に、ダウンロードしたtar.gzファイルを解凍します。
sudo tar -C /usr/local -xzf go1.16.3.linux-amd64.tar.gz
- 最後に、Go言語のバイナリをPATHに追加します。これは、
.bashrc
または.zshrc
ファイルに以下の行を追加することで行います。
export PATH=$PATH:/usr/local/go/bin
これで、Go言語のインストールが完了しました。go version
コマンドを実行して、正しくインストールされたことを確認できます。
go version
- これで、Go言語の開発環境が整いました。次に、golang-migrateのインストールに進みましょう。
golang-migrateのインストール
golang-migrateは、データベースのスキーママイグレーションを管理するためのライブラリおよびCLIツールです。以下の手順でUbuntuにインストールすることができます。
- 最初に、golang-migrateの最新バージョンをGitHubからダウンロードします。
wget https://github.com/golang-migrate/migrate/releases/download/v4.14.1/migrate.linux-amd64.tar.gz
- 次に、ダウンロードしたtar.gzファイルを解凍します。
sudo tar -C /usr/local/bin -xzf migrate.linux-amd64.tar.gz
- 最後に、解凍したバイナリを適切な名前にリネームします。
sudo mv /usr/local/bin/migrate.linux-amd64 /usr/local/bin/migrate
これで、golang-migrateのインストールが完了しました。migrate version
コマンドを実行して、正しくインストールされたことを確認できます。
migrate version
- これで、golang-migrateの準備が整いました。次に、マイグレーションファイルの作成に進みましょう。
マイグレーションファイルの作成
golang-migrateでは、マイグレーションファイルを作成してデータベースのスキーマを管理します。以下の手順でマイグレーションファイルを作成することができます。
- 最初に、マイグレーションファイルを保存するディレクトリを作成します。
mkdir db/migrations
- 次に、
migrate create
コマンドを使用して新しいマイグレーションファイルを作成します。このコマンドは、指定した名前のマイグレーションファイルを生成します。
migrate create -ext sql -dir db/migrations -seq create_users_table
このコマンドは、db/migrations
ディレクトリに000001_create_users_table.up.sql
と000001_create_users_table.down.sql
の2つのファイルを作成します。.up.sql
ファイルはマイグレーションを適用するためのSQLを、.down.sql
ファイルはマイグレーションを元に戻すためのSQLを記述します。
- 最後に、作成したマイグレーションファイルに適切なSQLを記述します。
-- db/migrations/000001_create_users_table.up.sql
CREATE TABLE users (
id SERIAL PRIMARY KEY,
name TEXT,
email TEXT UNIQUE NOT NULL
);
-- db/migrations/000001_create_users_table.down.sql
DROP TABLE users;
- これで、マイグレーションファイルの作成が完了しました。次に、マイグレーションの実行に進みましょう。
マイグレーションの実行
golang-migrateを使用して、作成したマイグレーションファイルをデータベースに適用することができます。以下の手順でマイグレーションを実行することができます。
- 最初に、
migrate up
コマンドを使用してマイグレーションを適用します。このコマンドは、指定したデータベースに対して.up.sql
ファイルのSQLを実行します。
migrate -path db/migrations -database "postgres://localhost:5432/database" up
このコマンドは、db/migrations
ディレクトリにあるすべての.up.sql
ファイルを順に実行し、データベースのスキーマを更新します。
- もしマイグレーションを元に戻したい場合は、
migrate down
コマンドを使用します。このコマンドは、指定したデータベースに対して.down.sql
ファイルのSQLを実行します。
migrate -path db/migrations -database "postgres://localhost:5432/database" down
このコマンドは、最後に適用されたマイグレーションを元に戻します。
- これで、マイグレーションの実行方法について説明しました。これらの手順を踏むことで、データベースのスキーマを効率的に管理することができます。