sql-migrateとGormでマイグレーションとシードを実装する

Goのボイラープレートを実装していたときの備忘録として残しておく。 まず今回使用するパッケージについて sql-migrate sql-migrateはその名の通り、SQLをマイグレートするためのツールでGoで作られています。マイグレーションするためのパッケージはいくつか存在していますが、個人的にsql-migrateがシンプルで使いやすかったという理由で採用しています。 gorm 続いてgormはGo製のORMパッケージになります。言わずもがなこちらもポピュラーなパッケージになります。他にもSQLBoiler,xormといったパッケージが存在しているようですが、最もGithubのスター数が多いことを理由にGORMを使用します。 GORMにもモデル定義に合わせた自動マイグレーション機能が用意されていますが、不足しているカラムやインデックスの生成はするが、カラム削除まではやってくれないなど、使っていくには不十分な点がります。そのため一番使いやすかったsql-migrateを使用しています。 実装 では実装に入っていきます。 使用するDBはPostgresqlでも構いませんが自分が使い慣れたMySQL使用することにします。…

Go言語で開発する際に知っておきたいパッケージなど

golint goのlinterです。警告文等を表示してくれます。 こちらはGo言語の標準機能ではないのでgo getする必要があります。 $ go get -u github.com/golang/lint/golint 関数名を間違った名前で呼び出すとエラーが出るのは当たり前ですがコメントが抜けている場合も警告文を出してくれます。…

Go言語でCRUDを作る

今年はGo言語も勉強したいということでやっていく。学習コスト自体もそんなに高くないと聞いていたのでチュートリアルすっとばして開発に入っていく。 わからんかったら適当に調べるスタンスで。 環境設定 まずは環境設定 $ sudo pacman -S go Go言語を動かすワークスペースを作る、無難にHomeディレクトリに作る…