Как создать таблицу MySQL из структуры Go - PullRequest
0 голосов
/ 02 марта 2019

Я создаю программу CRUD, используя Go, и у меня довольно большая структура с более чем 70 полями, которые я хочу добавить в базу данных MySQL.

Мне было интересно, есть ли способ автоматического сопоставленияструктурировать в мою базу данных, чтобы мне не пришлось создавать таблицу вручную, а просто скопировать мою структуру?

1 Ответ

0 голосов
/ 02 марта 2019

Я не нашел способа полностью автоматизировать этот процесс, но, по крайней мере, вы можете создать их, используя теги и немного кода.

Пример обходного пути:

Есть некоторыеgithub проекты в дикой природе, которые помогут вам достичь этого.

Например, structable

Вы должны будете добавить теги к своим членам Structs.

Пример из github:

type Stool struct {
  Id         int    `stbl:"id, PRIMARY_KEY, AUTO_INCREMENT"`
  Legs   int    `stbl:"number_of_legs"`
  Material string `stbl:"material"`
  Ignored  string // will not be stored. No tag.
}

Если у вас есть эта часть, вы можете создать таблицу, как в следующем примере (также со страницы github)

stool := new(Stool)
stool.Material = "Wood"
db := getDb() // Get a sql.Db. You're on  the hook to do this part.

// Create a new structable.Recorder and tell it to
// bind the given struct as a row in the given table.
r := structable.New(db, "mysql").Bind("test_table", stool)

// This will insert the stool into the test_table.
err := r.Insert()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...