UbuntuでのGo言語とgolang-migrateの導入と使用方法

By quonta 4月 17, 2024

Go言語のインストール

Go言語のインストールは非常に簡単で、以下の手順で行うことができます。

  1. 最初に、公式のGo言語のダウンロードページから最新のバージョンをダウンロードします。
wget https://golang.org/dl/go1.16.3.linux-amd64.tar.gz
  1. 次に、ダウンロードしたtar.gzファイルを解凍します。
sudo tar -C /usr/local -xzf go1.16.3.linux-amd64.tar.gz
  1. 最後に、Go言語のバイナリをPATHに追加します。これは、.bashrcまたは.zshrcファイルに以下の行を追加することで行います。
export PATH=$PATH:/usr/local/go/bin

これで、Go言語のインストールが完了しました。go versionコマンドを実行して、正しくインストールされたことを確認できます。

go version
これで、Go言語の開発環境が整いました。次に、golang-migrateのインストールに進みましょう。

Go言語公式ダウンロードページ

golang-migrateのインストール

golang-migrateは、データベースのスキーママイグレーションを管理するためのライブラリおよびCLIツールです。以下の手順でUbuntuにインストールすることができます。

  1. 最初に、golang-migrateの最新バージョンをGitHubからダウンロードします。
wget https://github.com/golang-migrate/migrate/releases/download/v4.14.1/migrate.linux-amd64.tar.gz
  1. 次に、ダウンロードしたtar.gzファイルを解凍します。
sudo tar -C /usr/local/bin -xzf migrate.linux-amd64.tar.gz
  1. 最後に、解凍したバイナリを適切な名前にリネームします。
sudo mv /usr/local/bin/migrate.linux-amd64 /usr/local/bin/migrate

これで、golang-migrateのインストールが完了しました。migrate versionコマンドを実行して、正しくインストールされたことを確認できます。

migrate version
これで、golang-migrateの準備が整いました。次に、マイグレーションファイルの作成に進みましょう。

golang-migrate公式GitHubページ

マイグレーションファイルの作成

golang-migrateでは、マイグレーションファイルを作成してデータベースのスキーマを管理します。以下の手順でマイグレーションファイルを作成することができます。

  1. 最初に、マイグレーションファイルを保存するディレクトリを作成します。
mkdir db/migrations
  1. 次に、migrate createコマンドを使用して新しいマイグレーションファイルを作成します。このコマンドは、指定した名前のマイグレーションファイルを生成します。
migrate create -ext sql -dir db/migrations -seq create_users_table

このコマンドは、db/migrationsディレクトリに000001_create_users_table.up.sql000001_create_users_table.down.sqlの2つのファイルを作成します。.up.sqlファイルはマイグレーションを適用するためのSQLを、.down.sqlファイルはマイグレーションを元に戻すためのSQLを記述します。

  1. 最後に、作成したマイグレーションファイルに適切な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公式ドキュメンテーション

マイグレーションの実行

golang-migrateを使用して、作成したマイグレーションファイルをデータベースに適用することができます。以下の手順でマイグレーションを実行することができます。

  1. 最初に、migrate upコマンドを使用してマイグレーションを適用します。このコマンドは、指定したデータベースに対して.up.sqlファイルのSQLを実行します。
migrate -path db/migrations -database "postgres://localhost:5432/database" up

このコマンドは、db/migrationsディレクトリにあるすべての.up.sqlファイルを順に実行し、データベースのスキーマを更新します。

  1. もしマイグレーションを元に戻したい場合は、migrate downコマンドを使用します。このコマンドは、指定したデータベースに対して.down.sqlファイルのSQLを実行します。
migrate -path db/migrations -database "postgres://localhost:5432/database" down

このコマンドは、最後に適用されたマイグレーションを元に戻します。

これで、マイグレーションの実行方法について説明しました。これらの手順を踏むことで、データベースのスキーマを効率的に管理することができます。

golang-migrate公式ドキュメンテーション

By quonta

Related Post

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です