mirror of
https://github.com/zeromicro/go-zero.git
synced 2026-05-15 02:40:01 +08:00
* change column to read from information_schema * reactor generate mode from datasource * reactor generate mode from datasource * add primary key check logic * resolve rebase conflicts * add naming style * add filename test case * resolve rebase conflicts * reactor test * add test case * change shell script to makefile * update rpc new * update gen_test.go * format code * format code * update test * generates alias
35 lines
581 B
Go
35 lines
581 B
Go
package model
|
|
|
|
import (
|
|
"github.com/tal-tech/go-zero/core/stores/sqlx"
|
|
)
|
|
|
|
type (
|
|
DDLModel struct {
|
|
conn sqlx.SqlConn
|
|
}
|
|
DDL struct {
|
|
Table string `db:"Table"`
|
|
DDL string `db:"Create Table"`
|
|
}
|
|
)
|
|
|
|
func NewDDLModel(conn sqlx.SqlConn) *DDLModel {
|
|
return &DDLModel{conn: conn}
|
|
}
|
|
|
|
func (m *DDLModel) ShowDDL(table ...string) ([]string, error) {
|
|
var ddl []string
|
|
for _, t := range table {
|
|
query := `show create table ` + t
|
|
var resp DDL
|
|
err := m.conn.QueryRow(&resp, query)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
ddl = append(ddl, resp.DDL)
|
|
}
|
|
return ddl, nil
|
|
}
|