/var/www/yatta47.log

/var/www/yatta47.log

やったのログ置場です。スクラップみたいな短編が多いかと。

SQLBoilerについて調べたメモ

f:id:yatta47:20210117125924p:plain

golangでコマンド形式でSQL叩いてDBデータを取得しようと思ってSQLBoilerというのを見つけて色々調べたのでメモ。

未来の自分に、このページ類を見れば大丈夫よっていう意味で記録に残しておく。

 

公式ページ

とにもかくにも公式ページ。公式ページも充実している。(使いこなせてないけどw

GitHub - volatiletech/sqlboiler: Generate a Go ORM tailored to your database schema.

 

わかりやすかったページ

そしてわかりやすかったページ。これらのページを見れば概要や基本的な使い方はわかるというページたちです。

[golang] SQLBoiler のいろは (1) 設定 ~ 基本 CRUD 実行まで | Wild Data Chase -データを巡る冒険-

[golang] SQLBoiler のいろは (2) Query 応用編 | Wild Data Chase -データを巡る冒険-

SQLBoiler の使い方を簡単にまとめた - くろのて

Go言語のDBレイヤーライブラリの評価 | フューチャー技術ブログ

その他との比較もあり、概要がわかりやすかった。

[超便利]Go ORMライブラリのSQL Boilerを使った感想 - Qiita

 

トラブル解消

実行中にエラーにたどり着いて参考にしたページ。

View が存在すると SQLBoiler でのModel自動生成に失敗 - Qiita

Importing models after generation causes "both field and method" error · Issue #519 · volatiletech/sqlboiler · GitHub

SQLBoilerでhas both field and method named IDエラーになる場合の対処法 - Qiita

SQLBoilerでMySQLのDATETIME型使おうとしたらハマった - Qiita

 

まとめ

軽く使ってみた結果、すごく便利な気がした。

golangでDBのデータ受け取るときに「毎回構造体つくらないといけないものなのか?」と思っていたが、まぁ作らなくても受け取れるらしいけど基本的にはそこにマッピングするのが基本ルールっぽくて、それがめんどくさいなーって思っていたんですが、sqlboiler使えばそこをコードベースで自動生成してくれるというから便利と感じた。

使う場所は選ぶかもしれないけれど今後使う機会を探していこうと思えるものでした。

それでは。