Как написать в указанной схеме БД с Gorm? - PullRequest
0 голосов
/ 16 января 2019

Я новичок в Голанге. Я пытаюсь написать в конкретной схеме базы данных, используя GORM и пакет базы данных / sql. Вот моя структура

type Person struct {
gorm.Model
Name                string    
Age                 int    
}

и моя функция для записи в БД:

func writedb(){

psqlInfo := fmt.Sprintf("host=%s port=%d user=%s "+" password=%s dbname=%s sslmode=disable", host, port, user, password, dbname)
    db, err := gorm.Open("postgres", psqlInfo)
    if err != nil {
        panic(err)
        fmt.Println("Não conectou-se ao BANCO DE DADOS")
    }
    defer db.Close()

    db.AutoMigrate(&Person{})

    //t := time.Now()
    //ts := t.Format("2006-01-02 15:04:05")

    db.Create(&Person{Name : "alex", Age: 20})


}

Моя БД имеет такую ​​структуру Databasename --schemaPeople --schemaVehicle --schemaPublic

Когда я компилирую, вставленные данные попадают в новую таблицу в публичной схеме, я хочу вставить строку в схему людей. Что я делаю неправильно? Я объявляю структуру неправильно? Как мне установить конкретную схему ??

1 Ответ

0 голосов
/ 16 января 2019

В gorm вы можете обозначить схему в TableName() методе вашей структуры, например:

type Person struct {
    gorm.Model
    Name string
    Age  int
}

func (Person) TableName() string {
    return "people.persons"
}
...