LoginSignup
2
1

More than 1 year has passed since last update.

Goでgooseコマンドを打っても実行できない

Posted at

はじめに

この記事は2022年8月にまとめていた「細かいつまずいたことをメモしておく(8月編)をそれぞれ投稿した内容になります
解決方法が最新でない可能性もありますのでご了承ください

問題

$ go install github.com/pressly/goose/v3/cmd/goose@latest

gooseをいれて、goose statusを叩いても実行ができずgoose helpと同じ内容がでる
/dbにdbconf.ymlを設定しているがそれが読み込まれていないようだった

調査

以下のコマンドでgooseを実行すると成功した

$ goose mysql "root:password@tcp(db:3306)/techblog?parseTime=true" status

これは

goose mysql "ユーザー名:パスワード@tcp(ホスト名:3306)/DB名?parseTime=true

と読み替える

ただし以下の不満点があった

  • ログにパスワードが残るの
  • コマンドが長く打つのが大変
  • インストールに30分も時間がかかった
  • dbconf.ymlは読み込まれていない

解決方法

gooseにはオリジナルforkした2つが存在するようで、dbconf.ymlを設定するのは別のほうのgooseだった

今回想定していたgooseはこちらだった

こちらをインストールする

$ go install bitbucket.org/liamstask/goose/cmd/goose@latest

するとdb/dbconf.ymlが読み込まれてgoose statusが動いた

ちなみに私の環境ではgccがないためインストールエラーになったので

$ apk add alpine-sdk

も実行した

参考

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1