| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- package sqlload
- import (
- "go-create-template/configs"
- )
- var CTables []CTable
- var CGans []Gen
- // Load 加载数据库参数
- func Load() {
- metas, err := configs.Engine.DBMetas()
- if err != nil {
- panic(err)
- }
- CTables = make([]CTable, len(metas))
- for i := range metas {
- table := CTable{
- Name: metas[i].Name,
- Comment: metas[i].Comment,
- Key: CTableColumn{},
- CTableColumns: make([]CTableColumn, len(metas[i].Columns())),
- }
- for j := range metas[i].Columns() {
- column := CTableColumn{}
- column.Name = metas[i].Columns()[j].Name
- column.IsPrimaryKey = metas[i].Columns()[j].IsPrimaryKey
- column.IsAutoIncrement = metas[i].Columns()[j].IsAutoIncrement
- column.Comment = metas[i].Columns()[j].Comment
- column.SQLType = CSQLType{
- Name: metas[i].Columns()[j].SQLType.Name,
- DefaultLength: metas[i].Columns()[j].SQLType.DefaultLength,
- DefaultLength2: metas[i].Columns()[j].SQLType.DefaultLength2,
- }
- column.Nullable = metas[i].Columns()[j].Nullable
- if column.IsPrimaryKey {
- table.Key = column
- }
- table.CTableColumns[j] = column
- }
- CTables[i] = table
- }
- LoadGenTableAndGenTableColumn()
- }
- // LoadGenTableAndGenTableColumn 加载数据库中的表格和列字段生成
- func LoadGenTableAndGenTableColumn() {
- var tables = make([]GenTable, 0)
- err := configs.Engine.Table("gen_table").Find(&tables)
- if err != nil {
- panic(err)
- }
- var genTableColumns []GenTableColumn
- err = configs.Engine.Table("gen_table_column").Find(&genTableColumns)
- if err != nil {
- panic(err)
- }
- gens := make([]Gen, len(tables))
- m := make(map[int64]int)
- for i := range tables {
- gen := Gen{Table: tables[i], TableColumns: make([]GenTableColumn, 0)}
- gens[i] = gen
- m[tables[i].Id] = i
- }
- for i := range genTableColumns {
- gen, ok := m[genTableColumns[i].TableId]
- if ok {
- gens[gen].TableColumns = append(gens[gen].TableColumns, genTableColumns[i])
- }
- }
- CGans = gens
- }
|