Какую версию Go я использую (go version
)?
Версия Go Go 1.9.1 Linux / amd64
Какую базу данных и ее версию я использую?
sqlite3
Полная работоспособная программа для воспроизведения моей проблемы:
Требуется запуск с помощью Докер GORM для создания конфигурации или укажите свою конфигурацию.
package main
import (
"github.com/jinzhu/gorm"
_ "github.com/jinzhu/gorm/dialects/sqlite"
)
type A struct {
ID int
Bs [] *B `gorm:"foreignkey:AID"`
}
type B struct {
ID int
AID int
Config Config `gorm:"type:text"`
}
type Config struct {
attr1 int
attr2 string
}
func main() {
Db, err := gorm.Open("sqlite3", "test.db")
if err != nil {
panic(err)
}
Db.CreateTable(&A{})
Db.CreateTable(&B{})
}
Однако схема test.db имеет вид
sqlite> .schema
CREATE TABLE "as" ("id" integer primary key autoincrement );
CREATE TABLE "bs" ("id" integer primary key autoincrement,"a_id" integer );
Как мы видим, атрибут config
B не был создан.Так почему же Горм игнорирует структуру Config
?