Open7

Go言語でDDLからdatabase/sqlの実装を生成するCLIを作ってみたい

kikakugaikikakugai

まずは、やりたいことを簡単にまとめる

  • DDLを読み込む
  • 読み込んだDDLからテーブルの構造体とカラム定義を保持
  • 最終的に以下をファイル生成する
    • テーブルの構造体
    • SELECTINSERTUPDATEDELETE 実装
kikakugaikikakugai

Golang用のMakefileを整備している際に、gofmtgoimportsがinstallされていない場合の処理を書きたかった。
Gihub Copilotに書かせたら、以下のように書いてくれた。

format:
	gofmt -w ./..
+	@command -v goimports >/dev/null 2>&1 || { \
+		echo "goimports not found. Installing..."; \
+		go install golang.org/x/tools/cmd/goimports@latest; \
+	}
	goimports -w ./..

が、分からない、、、。
調べたら以下の記事がすごい分かりやすかった(筆者の方、ありがとうございます🙏🏻)
https://qiita.com/ritukiii/items/b3d91e97b71ecd41d4ea

kikakugaikikakugai

~/.zshrcへ以下を追記

+ export PATH=$PATH:$(go env GOPATH)/bin # `gofmt`を実行したらパスが通っていなかった

+ autoload -Uz compinit # Makefile実行時に`zsh`でタブ補完が効かなかった
+ compinit