Я пытаюсь понять, как работает GORM для одного-единственного реляционного сопоставления с MySQL. У меня 2 структур, как так:Соотношение отношения одного к одному с использованием GORM для Golang
type User struct {
Id uint `gorm:"AUTO_INCREMENT"`
FirstName string `gorm:"column:first_name"`
LastName string `gorm:"column:last_name"`
EncryptedUserId string `gorm:"size:255"`
Email string `gorm:"not null;unique"`
Password string `gorm:"not null;unique"`
CreatedAt int64 `gorm:"type(timestamp)"`
}
type UserSession struct {
Id uint `gorm:"AUTO_INCREMENT"`
UserId User
SessionToken string `gorm:"column:session_token"`
CreatedAt int64 `gorm:"type(timestamp)"`
}
User
и UserSession
акций 12:59 отношение. Но когда выполняется код выше, столбец UserId
для таблицы UserSession
не создается. Даже после указания ограничения внешнего ключа gorm:"ForeignKey:Id"
результат такой же. Почему этот код не работает? Что-то не хватает в определении структуры?
Спасибо за помощь заранее!
Да, я добавил 'db.AutoMigrate (& User {}, & UserSession {})', ошибка, отображаемая в журнале: '(sql: преобразование типа аргумента ExeC# 0: неподдерживаемые типы models.User, struct)' –