mirror of
https://github.com/go-admin-team/go-admin.git
synced 2026-09-21 02:04:09 +00:00
Every import of the module changes, not only the seven packages that
moved out of sdk/pkg: Go requires the major version in the path from v2
on. Both happen in one pass —
go run github.com/go-admin-team/go-admin-core/tools/coreupgrade@v2.0.0 -w -v2 .
go mod tidy
— which is the command the release notes give, run here as a consumer
would run it. 210 imports across 95 files.
The compatibility shims this used are gone in v2, so the paths that
moved had to move: sdk/pkg/captcha, sdk/pkg/jwtauth and its user
package, sdk/pkg/response and sdk/pkg/casbin.
The count of unformatted files is unchanged at 34, none of them touched
by this: the tool reformats a file only if it was already gofmt clean,
so a migration cannot disappear into whitespace.
62 lines
2.3 KiB
Go
62 lines
2.3 KiB
Go
package tools
|
||
|
||
import (
|
||
"errors"
|
||
|
||
"github.com/go-admin-team/go-admin-core/v2/sdk/config"
|
||
"github.com/go-admin-team/go-admin-core/v2/sdk/pkg"
|
||
"gorm.io/gorm"
|
||
)
|
||
|
||
type DBColumns struct {
|
||
TableSchema string `gorm:"column:TABLE_SCHEMA" json:"tableSchema"`
|
||
TableName string `gorm:"column:TABLE_NAME" json:"tableName"`
|
||
ColumnName string `gorm:"column:COLUMN_NAME" json:"columnName"`
|
||
ColumnDefault string `gorm:"column:COLUMN_DEFAULT" json:"columnDefault"`
|
||
IsNullable string `gorm:"column:IS_NULLABLE" json:"isNullable"`
|
||
DataType string `gorm:"column:DATA_TYPE" json:"dataType"`
|
||
CharacterMaximumLength string `gorm:"column:CHARACTER_MAXIMUM_LENGTH" json:"characterMaximumLength"`
|
||
CharacterSetName string `gorm:"column:CHARACTER_SET_NAME" json:"characterSetName"`
|
||
ColumnType string `gorm:"column:COLUMN_TYPE" json:"columnType"`
|
||
ColumnKey string `gorm:"column:COLUMN_KEY" json:"columnKey"`
|
||
Extra string `gorm:"column:EXTRA" json:"extra"`
|
||
ColumnComment string `gorm:"column:COLUMN_COMMENT" json:"columnComment"`
|
||
}
|
||
|
||
func (e *DBColumns) GetPage(tx *gorm.DB, pageSize int, pageIndex int) ([]DBColumns, int, error) {
|
||
pkg.Assert(config.DatabaseConfig.Driver == "mysql", "目前只支持mysql数据库", 500)
|
||
|
||
var doc []DBColumns
|
||
var count int64
|
||
|
||
if e.TableName == "" {
|
||
return nil, 0, errors.New("table name cannot be empty!")
|
||
}
|
||
|
||
table := tx.Table("information_schema.`COLUMNS`")
|
||
table = table.Where("table_schema= ? ", config.GenConfig.DBName)
|
||
table = table.Where("TABLE_NAME = ?", e.TableName)
|
||
|
||
if err := table.Offset((pageIndex - 1) * pageSize).Limit(pageSize).Find(&doc).Offset(-1).Limit(-1).Count(&count).Error; err != nil {
|
||
return nil, 0, err
|
||
}
|
||
return doc, int(count), nil
|
||
}
|
||
|
||
func (e *DBColumns) GetList(tx *gorm.DB) ([]DBColumns, error) {
|
||
pkg.Assert(config.DatabaseConfig.Driver == "mysql", "目前只支持mysql数据库", 500)
|
||
|
||
var doc []DBColumns
|
||
if e.TableName == "" {
|
||
return nil, errors.New("table name cannot be empty!")
|
||
}
|
||
|
||
table := tx.Table("information_schema.columns")
|
||
table = table.Where("table_schema= ? ", config.GenConfig.DBName)
|
||
table = table.Where("TABLE_NAME = ?", e.TableName).Order("ORDINAL_POSITION asc")
|
||
if err := table.Find(&doc).Error; err != nil {
|
||
return doc, err
|
||
}
|
||
return doc, nil
|
||
}
|