У меня есть API, написанный на Go, у меня есть следующий набор моделей ...«Сообщение»: «Отношение » пользователей «не существует», golang
type User struct {
gorm.Model
ID string `sql:"type:varchar(36);primary key"`
Name string
Password string
Email string
Content []Content
Location string
Tracks []Track
Avatar string
BgImg string
Artists []Artist
}
type Artist struct {
gorm.Model
ID string `sql:"type:varchar(36);primary key"`
}
type Content struct {
gorm.Model
ID string `sql:"type:varchar(36);primary key"`
}
type Track struct {
gorm.Model
ID string `sql:"type:varchar(36);primary key"`
}
в моем main.go
файле, Я инициализация своей базы данных с ...
drivers.DB().CreateTable(&models.User{})
drivers.DB().CreateTable(&models.Artist{})
drivers.DB().CreateTable(&models.Content{})
drivers.DB().CreateTable(&models.Track{})
Но я получаю ошибку ...
{
"_message": {
"Severity": "ERROR",
"Code": "42P01",
"Message": "relation \"users\" does not exist",
"Detail": "",
"Hint": "",
"Position": "15",
"InternalPosition": "",
"InternalQuery": "",
"Where": "",
"Schema": "",
"Table": "",
"Column": "",
"DataTypeName": "",
"Constraint": "",
"File": "parse_relation.c",
"Line": "1159",
"Routine": "parserOpenTable"
}
}
почему Вы добавляете поле идентификатора для каждой структуры? Этот метод «gorm.Model», который вы встраиваете, уже делает. –
Вы пытаетесь переопределить тип первичного ключа gorm.Model 'uint' с' varchar (36) '? –
@JohnWeldon Я, да. Нужно ли удалить gorm.Model? –