gorpでSQL書いてレコード取得する時には必ず個別にカラムを指定したほうが良い話
SQLとして何が好ましいかという話はしないし関係ない。
SQL書いてSELECTするような場合、gorp.DbMap.Select
とか gorp.DbMap.SelectOne
とか。gorp.rawselect
ってのが呼ばれて、
そこでは、取得したカラムの全てがstructに無い場合エラーを吐くようになってる。
https://github.com/coopernurse/gorp/blob/87135bba705725c26b805636fd548fae440a1c6b/gorp.go#L1495
なので、例えばだけど、
dbmap.Select(&User{}, "SELECT * from users")
とかってしている- User struct にname追加, users tableにname追加するmigration作成
- migration実行
- app再起動
とかって場合、app再起動が終わるまでその部分はエラーを吐く。
gorp.DbMap.Get
とかはそもそもフィールドを指定しないけど、そういうことは起こらない。