ddlmodel.go 580 B

123456789101112131415161718192021222324252627282930313233
  1. package model
  2. import (
  3. "github.com/tal-tech/go-zero/core/stores/sqlx"
  4. )
  5. type (
  6. DDLModel struct {
  7. conn sqlx.SqlConn
  8. }
  9. DDL struct {
  10. Table string `db:"Table"`
  11. DDL string `db:"Create Table"`
  12. }
  13. )
  14. func NewDDLModel(conn sqlx.SqlConn) *DDLModel {
  15. return &DDLModel{conn: conn}
  16. }
  17. func (m *DDLModel) ShowDDL(table ...string) ([]string, error) {
  18. var ddl []string
  19. for _, t := range table {
  20. query := `show create table ` + t
  21. var resp DDL
  22. err := m.conn.QueryRow(&resp, query)
  23. if err != nil {
  24. return nil, err
  25. }
  26. ddl = append(ddl, resp.DDL)
  27. }
  28. return ddl, nil
  29. }