0

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そうでない場合、エラーにならないようにするにはどうすればよいでしょうか。

4

0 に答える 0