代码拉取完成,页面将自动刷新
package session
import (
"fmt"
"reflect"
"gitee.com/leminewx/dborm/schema"
)
// WithModel 指定数据表模型
func (own *Session) WithModel(model any) *Session {
if own.schema == nil || reflect.TypeOf(model) != own.schema.ModelType {
own.schema = schema.Parse(own.dialect, model)
own.statement.WithTableName(own.schema.Name)
}
return own
}
// GetSchema 获取数据表信息
func (own *Session) GetSchema() (*schema.Schema, error) {
if own.schema == nil {
return nil, fmt.Errorf("dborm: no data model specified")
}
if len(own.schema.Columns) == 0 {
return nil, fmt.Errorf("dborm: no exportable fields in data model")
}
return own.schema, nil
}
// CreateTable 创建数据表
func (own *Session) CreateTable(engine ...string) error {
schema, err := own.GetSchema()
if err != nil {
return err
}
sql := own.dialect.GenerateCreatingTableSQL(schema.Name, schema.Columns, engine...)
_, err = own.Exec(sql)
return err
}
// DropTable 删除数据表
func (own *Session) DropTable() error {
schema, err := own.GetSchema()
if err != nil {
return err
}
_, err = own.Exec("DROP TABLE IF EXISTS " + schema.Name + ";")
return err
}
// IsExistTable 检查数据表是否存在
func (own *Session) IsExistTable() bool {
schema, err := own.GetSchema()
if err != nil {
return false
}
sql := own.dialect.GenerateQueryingTableSQL(own.dbName, schema.Name)
row := own.QueryRow(sql)
var tmp string
_ = row.Scan(&tmp)
return tmp == schema.Name
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。