代码拉取完成,页面将自动刷新
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// Author: wsfuyibing <682805@qq.com>
// Date: 2024-08-02
package base
import (
"html/template"
"sort"
)
// Table
// is a component for table definition (DDL).
type Table struct {
// Normal fields.
Engine string `xorm:"Engine"`
Format string `xorm:"Row_format"`
Name ItemName `xorm:"Name"`
Comment ItemComment `xorm:"Comment"`
Collation ItemCollation `xorm:"Collation"`
// Belongs to.
Columns []*Column `xorm:"-"`
PackageList []string
PackageMapper map[string]bool
// Info fields.
CommentList []template.HTML `xorm:"-"`
Datetime template.HTML `xorm:"-"`
Script template.HTML `xorm:"-"`
// Execution fields.
ConnectionKey string `xorm:"-"`
ModelName string `xorm:"-"`
ModelPkg string `xorm:"-"`
ServiceName string `xorm:"-"`
ServicePkg string `xorm:"-"`
// Primary prop.
PrimaryName string `xorm:"-"`
PrimaryFieldName string `xorm:"-"`
PrimaryType string `xorm:"-"`
// Current timestamp.
CurrentPrimaryKey string `xorm:"-"`
CurrentPrimaryKeyName string `xorm:"-"`
CurrentPrimaryKeyType string `xorm:"-"`
CurrentTimestamps []string `xorm:"-"`
}
func (o *Table) Ready() {
o.CurrentTimestamps = make([]string, 0)
for _, c := range o.Columns {
if c.Key.IsPrimary() && o.CurrentPrimaryKey == "" {
o.CurrentPrimaryKey = c.Field.String()
o.CurrentPrimaryKeyName = c.Field.ToLargeCamel()
o.CurrentPrimaryKeyType = c.ExportType
}
if c.Default.IsCurrentTimestamp() {
o.CurrentTimestamps = append(o.CurrentTimestamps, c.Field.ToLargeCamel())
}
}
}
func (o *Table) Add(pkg string) {
if o.PackageList == nil || o.PackageMapper == nil {
o.PackageList = make([]string, 0)
o.PackageMapper = make(map[string]bool)
}
if _, ok := o.PackageMapper[pkg]; ok {
return
}
o.PackageList = append(o.PackageList, pkg)
o.PackageMapper[pkg] = true
sort.Strings(o.PackageList)
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。