gorp と *DBMap.addTableWithName() 関数を使用してテーブルを作成しています。
私が以下を持っている場合:
...
type S1 struct {
Id int `db:"id"`
Name string `db:"name"`
Value string `db:"value"`
}
dbmap := &gorp.DbMap{Db: db, Dialect: gorp.PostgresDialect{}}
dbmap.AddTableWithName(S1{}, "s1Table").SetKeys(true, "Id")
...
これは期待どおりに機能します。
構造体をこれに変更すると
...
type S1 struct {
Id int `db:"id"`
Name string `db:"name"`
Value string `db:"value"`
Extra string `db:"extra"`
}
...
次に、テーブルは新しい構造体構造で変更されません。
データベースを手動で変更する場合
ALTER TABLE s1Table ADD COLUMN extra text;
次に、返されたクエリを実行します
sql: Scan error on column index 3, name "extra": converting NULL to string is unsupported
gorp の GoDocs を調べましたが、解決策として何も飛び出していません。
私の質問は、gorp がこれらのテーブルの変更を管理することは可能ですか? converting NULL to string is unsupported
そうでない場合、エラーにならないようにするにはどうすればよいでしょうか。