5日目:SQLBoilerの導入でORマッパー・モデル作成
SQLBoilerでモデル作成
前回と前々回でMySQLでのデータベースをローカル開発環境に設置できたので、そろそろコードの実装をする。
SQLBoilerというGO言語で使えるORマッパーでモデルを作成する。 SQLBoilerを使うと実際のMySQL等のテーブル構成を調べてORマッパーとなるソースコードを生成してくれる。
早速開始。
初回のみ実行:
go mod init go get -u -t github.com/volatiletech/sqlboiler go get github.com/volatiletech/sqlboiler/drivers/sqlboiler-mysql
go modで初期化後に2つのパッケージをインストール。2つめのsqlboiler-mysql
はMySQL用のもの、他のDBである場合はそれに対応したパッケージを指定する。
そしてコード生成のための設定ファイルを作成する。ディレクトリの直下にsqlboiler.toml
というファイルを作成する。
touch sqlboiler.toml
そして中身を記入。まぁこんな感じかな。
pkgname="dbmodel" output="domain/dbmodel" add-global-variants=true [mysql] dbname = "nikki_db" host = "127.0.0.1" port = 3306 user = "root" pass = "password" blacklist = [] whitelist = [] sslmode = "false"
設定項目の内容についてはSQLBoilerのREADMEに書いてある。
SQLBoilerコマンドを実行して、ORマッパーを自動生成すると。
go run github.com/volatiletech/sqlboiler mysql
色々できた。生成されたファイルは基本的には触らない。
生成コマンドもMakefileに追記
genmodel: go run github.com/volatiletech/sqlboiler mysql
本日のプルリクエスト:
以下広告
Goプログラミング実践入門 標準ライブラリでゼロからWebアプリを作る impress top gearシリーズ
- 作者:Sau Sheong Chang,武舎 広幸,阿部 和也,上西 昌弘
- 発売日: 2017/03/17
- メディア: Kindle版
プログラミング言語Go (ADDISON-WESLEY PROFESSIONAL COMPUTING SERIES)
- 作者:Alan A.A. Donovan,Brian W. Kernighan
- 発売日: 2016/06/20
- メディア: 単行本(ソフトカバー)
- 作者:Mat Ryer
- 発売日: 2016/01/22
- メディア: 大型本