よこやまの日記・ブログを自作する編

車輪の再開発でも自分専用ブログをつくるんや!

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-mysqlMySQL用のもの、他の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

色々できた。生成されたファイルは基本的には触らない。 f:id:hiroyky:20200529032746p:plain

生成コマンドもMakefileに追記

genmodel:
    go run github.com/volatiletech/sqlboiler mysql

本日のプルリクエスト:

github.com

以下広告

プログラミング言語Go (ADDISON-WESLEY PROFESSIONAL COMPUTING SERIES)

プログラミング言語Go (ADDISON-WESLEY PROFESSIONAL COMPUTING SERIES)

改訂2版 基礎からわかる Go言語

改訂2版 基礎からわかる Go言語

Go言語によるWebアプリケーション開発

Go言語によるWebアプリケーション開発

  • 作者:Mat Ryer
  • 発売日: 2016/01/22
  • メディア: 大型本