Go言語でgooseとsqlxを使ってSQLite3を操作するときのメモです。
gooseのインストール
マイグレーションツールのgooseをインストールします。
go get -u github.com/pressly/goose/cmd/goose
データベースの作成
マイグレーションファイルを作成します。
goose sqlite3 ./test.db create user sql
作成されたファイルにsql文を直接記述します。
-- +goose Up
-- +goose StatementBegin
create table user (
id integer PRIMARY KEY,
name varchar(255) NOT NULL,
nickName varchar(255) NOT NULL,
pass varchar(255) NOT NULL
);
-- +goose StatementEnd
-- +goose Down
-- +goose StatementBegin
drop table user;
-- +goose StatementEnd
マイグレーション
データベースを指定してマイグレーションします。
goose sqlite3 ./test.db up
ロールバックの際は下のコマンドでマイグレーションファイルのgoose Downに記述したsqlが実行されます。
goose sqlite3 ./test.db down