mirror of
				https://gitee.com/dromara/mayfly-go
				synced 2025-11-04 08:20:25 +08:00 
			
		
		
		
	@@ -156,6 +156,12 @@ func SQLValueNumeric(val any) string {
 | 
				
			|||||||
	}
 | 
						}
 | 
				
			||||||
	return fmt.Sprintf("%v", val)
 | 
						return fmt.Sprintf("%v", val)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					func SQLValueBool(val any) string {
 | 
				
			||||||
 | 
						if val == nil {
 | 
				
			||||||
 | 
							return "false"
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return fmt.Sprintf("%v", cast.ToBool(val))
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func SQLValueString(val any) string {
 | 
					func SQLValueString(val any) string {
 | 
				
			||||||
	if val == nil {
 | 
						if val == nil {
 | 
				
			||||||
@@ -177,6 +183,12 @@ var (
 | 
				
			|||||||
		SQLValue: SQLValueNumeric,
 | 
							SQLValue: SQLValueNumeric,
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						DTBool = &DataType{
 | 
				
			||||||
 | 
							Name:     "bool",
 | 
				
			||||||
 | 
							Valuer:   ValuerBit,
 | 
				
			||||||
 | 
							SQLValue: SQLValueBool,
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	DTByte = &DataType{
 | 
						DTByte = &DataType{
 | 
				
			||||||
		Name:     "uint8",
 | 
							Name:     "uint8",
 | 
				
			||||||
		Valuer:   ValuerByte,
 | 
							Valuer:   ValuerByte,
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,8 +1,5 @@
 | 
				
			|||||||
--DM_DB_SCHEMAS 库schemas
 | 
					--DM_DB_SCHEMAS 库schemas
 | 
				
			||||||
SELECT
 | 
					SELECT NAME as SCHEMA_NAME FROM SYS.SYSOBJECTS WHERE TYPE$ = 'SCH' ORDER BY NAME ASC
 | 
				
			||||||
    DISTINCT object_name as SCHEMA_NAME
 | 
					 | 
				
			||||||
FROM ALL_OBJECTS
 | 
					 | 
				
			||||||
WHERE OBJECT_TYPE = 'SCH'
 | 
					 | 
				
			||||||
---------------------------------------
 | 
					---------------------------------------
 | 
				
			||||||
--DM_TABLE_INFO 表详细信息
 | 
					--DM_TABLE_INFO 表详细信息
 | 
				
			||||||
SELECT a.object_name                                      as TABLE_NAME,
 | 
					SELECT a.object_name                                      as TABLE_NAME,
 | 
				
			||||||
@@ -19,7 +16,7 @@ SELECT a.object_name                                      as TABLE_NAME,
 | 
				
			|||||||
                       WHERE OWNER = 'wxb'
 | 
					                       WHERE OWNER = 'wxb'
 | 
				
			||||||
                         AND TABLE_NAME = a.object_name)) as INDEX_LENGTH,
 | 
					                         AND TABLE_NAME = a.object_name)) as INDEX_LENGTH,
 | 
				
			||||||
       c.num_rows                                         as TABLE_ROWS
 | 
					       c.num_rows                                         as TABLE_ROWS
 | 
				
			||||||
FROM all_objects a
 | 
					FROM SYSOBJECTS a
 | 
				
			||||||
         LEFT JOIN ALL_TAB_COMMENTS b ON b.TABLE_TYPE = 'TABLE'
 | 
					         LEFT JOIN ALL_TAB_COMMENTS b ON b.TABLE_TYPE = 'TABLE'
 | 
				
			||||||
    AND a.object_name = b.TABLE_NAME
 | 
					    AND a.object_name = b.TABLE_NAME
 | 
				
			||||||
    AND b.owner = a.owner
 | 
					    AND b.owner = a.owner
 | 
				
			||||||
@@ -33,6 +30,18 @@ WHERE a.owner = (SELECT SF_GET_SCHEMA_NAME_BY_ID(CURRENT_SCHID))
 | 
				
			|||||||
    {{end}}
 | 
					    {{end}}
 | 
				
			||||||
ORDER BY a.object_name
 | 
					ORDER BY a.object_name
 | 
				
			||||||
---------------------------------------
 | 
					---------------------------------------
 | 
				
			||||||
 | 
					--DM_TABLE_INFO_NAME_ONLY 表名列表
 | 
				
			||||||
 | 
					SELECT TABS.NAME as TABLE_NAME FROM
 | 
				
			||||||
 | 
					 (SELECT ID, PID FROM SYS.SYSOBJECTS WHERE TYPE$ = 'SCH' AND NAME = (SELECT SF_GET_SCHEMA_NAME_BY_ID(CURRENT_SCHID))) SCHEMAS,
 | 
				
			||||||
 | 
					 (SELECT ID, SCHID, NAME FROM SYS.SYSOBJECTS WHERE TYPE$ = 'SCHOBJ' AND SUBTYPE$ IN ('UTAB', 'STAB', 'VIEW', 'SYNOM')
 | 
				
			||||||
 | 
					                                       AND ((SUBTYPE$ ='UTAB' AND CAST((INFO3 & 0x00FF & 0x003F) AS INT) not in (9, 27, 29, 25, 12, 7, 21, 23, 18, 5))
 | 
				
			||||||
 | 
					         OR SUBTYPE$ in ('STAB', 'VIEW', 'SYNOM'))) TABS
 | 
				
			||||||
 | 
					WHERE TABS.SCHID = SCHEMAS.ID 
 | 
				
			||||||
 | 
					  AND SF_CHECK_PRIV_OPT(UID(), CURRENT_USERTYPE(), TABS.ID, SCHEMAS.PID, -1, TABS.ID) = 1
 | 
				
			||||||
 | 
					{{if .tableNames}}
 | 
				
			||||||
 | 
					    and TABS.NAME in ({{.tableNames}})
 | 
				
			||||||
 | 
					{{end}}
 | 
				
			||||||
 | 
					---------------------------------------
 | 
				
			||||||
--DM_INDEX_INFO 表索引信息
 | 
					--DM_INDEX_INFO 表索引信息
 | 
				
			||||||
select a.index_name                                        as INDEX_NAME,
 | 
					select a.index_name                                        as INDEX_NAME,
 | 
				
			||||||
       a.index_type                                        as INDEX_TYPE,
 | 
					       a.index_type                                        as INDEX_TYPE,
 | 
				
			||||||
@@ -81,4 +90,23 @@ from all_tab_columns a
 | 
				
			|||||||
where a.owner = (SELECT SF_GET_SCHEMA_NAME_BY_ID(CURRENT_SCHID))
 | 
					where a.owner = (SELECT SF_GET_SCHEMA_NAME_BY_ID(CURRENT_SCHID))
 | 
				
			||||||
  and a.table_name in (%s)
 | 
					  and a.table_name in (%s)
 | 
				
			||||||
order by a.table_name,
 | 
					order by a.table_name,
 | 
				
			||||||
         a.column_id
 | 
					         a.column_id
 | 
				
			||||||
 | 
					---------------------------------------
 | 
				
			||||||
 | 
					--DM_COLUMN_MA_EX 表列信息
 | 
				
			||||||
 | 
					SELECT
 | 
				
			||||||
 | 
					    TABS.TABLE_NAME           TABLE_NAME,
 | 
				
			||||||
 | 
					    COLS.NAME                 COLUMN_NAME,
 | 
				
			||||||
 | 
					    case when COLS.NULLABLE$ = 'Y' then 'YES' when COLS.NULLABLE$ = 'N' then 'NO' else 'NO' end as NULLABLE,
 | 
				
			||||||
 | 
					    COLS.TYPE$                DATA_TYPE,
 | 
				
			||||||
 | 
					    COLS.LENGTH$              CHAR_MAX_LENGTH,
 | 
				
			||||||
 | 
					    COLS.SCALE                NUM_SCALE,
 | 
				
			||||||
 | 
					    COLS.DEFVAL               COLUMN_DEFAULT,
 | 
				
			||||||
 | 
					    case when COLS.INFO2 & 0x01 = 0x01 then 1 else 0 end  as IS_IDENTITY,
 | 
				
			||||||
 | 
					    case when COLS.INFO2 & 0x01 = 0x01 then 1 else 0 end  as IS_PRIMARY_KEY
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					FROM
 | 
				
			||||||
 | 
					    (SELECT ID FROM SYS.SYSOBJECTS WHERE TYPE$ = 'SCH' AND NAME = (SELECT SF_GET_SCHEMA_NAME_BY_ID(CURRENT_SCHID))) SCHS,
 | 
				
			||||||
 | 
					    (SELECT ID,SCHID,NAME TABLE_NAME FROM SYS.SYSOBJECTS WHERE TYPE$ = 'SCHOBJ' AND SUBTYPE$ IN ('UTAB', 'STAB', 'VIEW') AND NAME  in (%s)) TABS,
 | 
				
			||||||
 | 
					    SYS.SYSCOLUMNS COLS
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					WHERE TABS.ID = COLS.ID AND SCHS.ID = TABS.SCHID;
 | 
				
			||||||
@@ -15,6 +15,7 @@ const (
 | 
				
			|||||||
	CTLongtext
 | 
						CTLongtext
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	CTBit  // 1 bit
 | 
						CTBit  // 1 bit
 | 
				
			||||||
 | 
						CTBool // 1 bit
 | 
				
			||||||
	CTInt1 // 1字节 -128~127
 | 
						CTInt1 // 1字节 -128~127
 | 
				
			||||||
	CTInt2 // 2字节 -32768~32767
 | 
						CTInt2 // 2字节 -32768~32767
 | 
				
			||||||
	CTInt4 // 4字节 -2147483648~2147483647
 | 
						CTInt4 // 4字节 -2147483648~2147483647
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -4,6 +4,7 @@ import (
 | 
				
			|||||||
	"fmt"
 | 
						"fmt"
 | 
				
			||||||
	"mayfly-go/internal/db/dbm/dbi"
 | 
						"mayfly-go/internal/db/dbm/dbi"
 | 
				
			||||||
	"mayfly-go/pkg/errorx"
 | 
						"mayfly-go/pkg/errorx"
 | 
				
			||||||
 | 
						"mayfly-go/pkg/logx"
 | 
				
			||||||
	"mayfly-go/pkg/utils/anyx"
 | 
						"mayfly-go/pkg/utils/anyx"
 | 
				
			||||||
	"mayfly-go/pkg/utils/collx"
 | 
						"mayfly-go/pkg/utils/collx"
 | 
				
			||||||
	"mayfly-go/pkg/utils/stringx"
 | 
						"mayfly-go/pkg/utils/stringx"
 | 
				
			||||||
@@ -13,11 +14,13 @@ import (
 | 
				
			|||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const (
 | 
					const (
 | 
				
			||||||
	DM_META_FILE      = "metasql/dm_meta.sql"
 | 
						DM_META_FILE            = "metasql/dm_meta.sql"
 | 
				
			||||||
	DM_DB_SCHEMAS     = "DM_DB_SCHEMAS"
 | 
						DM_DB_SCHEMAS           = "DM_DB_SCHEMAS"
 | 
				
			||||||
	DM_TABLE_INFO_KEY = "DM_TABLE_INFO"
 | 
						DM_TABLE_INFO_KEY       = "DM_TABLE_INFO"
 | 
				
			||||||
	DM_INDEX_INFO_KEY = "DM_INDEX_INFO"
 | 
						DM_TABLE_INFO_NAME_ONLY = "DM_TABLE_INFO_NAME_ONLY" // 当查询表详情失败时,可能是因为没有系统表查询权限,所以尝试只查表名
 | 
				
			||||||
	DM_COLUMN_MA_KEY  = "DM_COLUMN_MA"
 | 
						DM_INDEX_INFO_KEY       = "DM_INDEX_INFO"
 | 
				
			||||||
 | 
						DM_COLUMN_MA_KEY        = "DM_COLUMN_MA"
 | 
				
			||||||
 | 
						DM_COLUMN_MA_EX_KEY     = "DM_COLUMN_MA_EX"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
type DMMetadata struct {
 | 
					type DMMetadata struct {
 | 
				
			||||||
@@ -67,7 +70,12 @@ func (dd *DMMetadata) GetTables(tableNames ...string) ([]dbi.Table, error) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	_, res, err = dd.dc.Query(sql)
 | 
						_, res, err = dd.dc.Query(sql)
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		return nil, err
 | 
							// 尝试只查表名
 | 
				
			||||||
 | 
							sql, err = stringx.TemplateParse(dbi.GetLocalSql(DM_META_FILE, DM_TABLE_INFO_NAME_ONLY), collx.M{"tableNames": names})
 | 
				
			||||||
 | 
							_, res, err = dd.dc.Query(sql)
 | 
				
			||||||
 | 
							if err != nil {
 | 
				
			||||||
 | 
								return nil, err
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	tables := make([]dbi.Table, 0)
 | 
						tables := make([]dbi.Table, 0)
 | 
				
			||||||
@@ -93,7 +101,10 @@ func (dd *DMMetadata) GetColumns(tableNames ...string) ([]dbi.Column, error) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	_, res, err := dd.dc.Query(fmt.Sprintf(dbi.GetLocalSql(DM_META_FILE, DM_COLUMN_MA_KEY), tableName))
 | 
						_, res, err := dd.dc.Query(fmt.Sprintf(dbi.GetLocalSql(DM_META_FILE, DM_COLUMN_MA_KEY), tableName))
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		return nil, err
 | 
							_, res, err = dd.dc.Query(fmt.Sprintf(dbi.GetLocalSql(DM_META_FILE, DM_COLUMN_MA_EX_KEY), tableName))
 | 
				
			||||||
 | 
							if err != nil {
 | 
				
			||||||
 | 
								return nil, err
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	columns := make([]dbi.Column, 0)
 | 
						columns := make([]dbi.Column, 0)
 | 
				
			||||||
@@ -138,7 +149,8 @@ func (dd *DMMetadata) GetPrimaryKey(tablename string) (string, error) {
 | 
				
			|||||||
func (dd *DMMetadata) GetTableIndex(tableName string) ([]dbi.Index, error) {
 | 
					func (dd *DMMetadata) GetTableIndex(tableName string) ([]dbi.Index, error) {
 | 
				
			||||||
	_, res, err := dd.dc.Query(fmt.Sprintf(dbi.GetLocalSql(DM_META_FILE, DM_INDEX_INFO_KEY), tableName))
 | 
						_, res, err := dd.dc.Query(fmt.Sprintf(dbi.GetLocalSql(DM_META_FILE, DM_INDEX_INFO_KEY), tableName))
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		return nil, err
 | 
							logx.Error("查询达梦索引信息失败", err)
 | 
				
			||||||
 | 
							return nil, nil
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	indexs := make([]dbi.Index, 0)
 | 
						indexs := make([]dbi.Index, 0)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -5,7 +5,7 @@ import (
 | 
				
			|||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
var (
 | 
					var (
 | 
				
			||||||
	Bool        = dbi.NewDbDataType("bool", dbi.DTBit).WithCT(dbi.CTBit).WithFixColumn(dbi.ClearNumScale)
 | 
						Bool        = dbi.NewDbDataType("bool", dbi.DTBool).WithCT(dbi.CTBool).WithFixColumn(dbi.ClearNumScale)
 | 
				
			||||||
	Int2        = dbi.NewDbDataType("int2", dbi.DTInt16).WithCT(dbi.CTInt2).WithFixColumn(dbi.ClearNumScale)
 | 
						Int2        = dbi.NewDbDataType("int2", dbi.DTInt16).WithCT(dbi.CTInt2).WithFixColumn(dbi.ClearNumScale)
 | 
				
			||||||
	Int4        = dbi.NewDbDataType("int4", dbi.DTInt32).WithCT(dbi.CTInt4).WithFixColumn(dbi.ClearNumScale)
 | 
						Int4        = dbi.NewDbDataType("int4", dbi.DTInt32).WithCT(dbi.CTInt4).WithFixColumn(dbi.ClearNumScale)
 | 
				
			||||||
	Int8        = dbi.NewDbDataType("int8", dbi.DTInt64).WithCT(dbi.CTInt8).WithFixColumn(dbi.ClearNumScale)
 | 
						Int8        = dbi.NewDbDataType("int8", dbi.DTInt64).WithCT(dbi.CTInt8).WithFixColumn(dbi.ClearNumScale)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -11,6 +11,6 @@ type DbSql struct {
 | 
				
			|||||||
	DbId uint64 `json:"dbId" gorm:"not null;"`
 | 
						DbId uint64 `json:"dbId" gorm:"not null;"`
 | 
				
			||||||
	Db   string `json:"db" gorm:"size:100;not null;"`
 | 
						Db   string `json:"db" gorm:"size:100;not null;"`
 | 
				
			||||||
	Type int    `json:"type" gorm:"not null;"` // 类型
 | 
						Type int    `json:"type" gorm:"not null;"` // 类型
 | 
				
			||||||
	Sql  string `json:"sql" gorm:"type:text;comment:sql语句"`
 | 
						Sql  string `json:"sql" gorm:"type:longtext;comment:sql语句"`
 | 
				
			||||||
	Name string `json:"name" gorm:"size:255;not null;comment:sql模板名"`
 | 
						Name string `json:"name" gorm:"size:255;not null;comment:sql模板名"`
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -5,9 +5,9 @@ import "mayfly-go/pkg/model"
 | 
				
			|||||||
type Resource struct {
 | 
					type Resource struct {
 | 
				
			||||||
	model.Model
 | 
						model.Model
 | 
				
			||||||
	Pid    int64  `json:"pid" gorm:"not null;comment:父节点id;"`
 | 
						Pid    int64  `json:"pid" gorm:"not null;comment:父节点id;"`
 | 
				
			||||||
	UiPath string `json:"ui_path" gorm:"size:300;not null;comment:唯一标识路径;"` // 唯一标识路径
 | 
						UiPath string `json:"ui_path" gorm:"size:300;comment:唯一标识路径;"`        // 唯一标识路径
 | 
				
			||||||
	Type   int8   `json:"type" gorm:"not null;comment:1:菜单路由;2:资源(按钮等);"`   // 1:菜单路由;2:资源(按钮等)
 | 
						Type   int8   `json:"type" gorm:"not null;comment:1:菜单路由;2:资源(按钮等);"` // 1:菜单路由;2:资源(按钮等)
 | 
				
			||||||
	Status int8   `json:"status" gorm:"not null;comment:状态;1:可用,-1:禁用;"`    // 1:可用;-1:不可用
 | 
						Status int8   `json:"status" gorm:"not null;comment:状态;1:可用,-1:禁用;"`  // 1:可用;-1:不可用
 | 
				
			||||||
	Code   string `json:"code" gorm:"size:300;comment:菜单路由为path,其他为唯一标识;"`
 | 
						Code   string `json:"code" gorm:"size:300;comment:菜单路由为path,其他为唯一标识;"`
 | 
				
			||||||
	Name   string `json:"name" gorm:"size:255;not null;"`
 | 
						Name   string `json:"name" gorm:"size:255;not null;"`
 | 
				
			||||||
	Weight int    `json:"weight"`
 | 
						Weight int    `json:"weight"`
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -10,9 +10,9 @@ type SysLog struct {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	Type        int8   `json:"type" gorm:"not null;"`
 | 
						Type        int8   `json:"type" gorm:"not null;"`
 | 
				
			||||||
	Description string `json:"description" gorm:"size:255;"`
 | 
						Description string `json:"description" gorm:"size:255;"`
 | 
				
			||||||
	ReqParam    string `json:"reqParam" gorm:"size:2000"` // 请求参数
 | 
						ReqParam    string `json:"reqParam" gorm:"type:text;"` // 请求参数
 | 
				
			||||||
	Resp        string `json:"resp" gorm:"type:text;"`    // 响应结构
 | 
						Resp        string `json:"resp" gorm:"type:text;"`     // 响应结构
 | 
				
			||||||
	Extra       string `json:"extra" gorm:"type:text;"`   // 日志额外信息
 | 
						Extra       string `json:"extra" gorm:"type:text;"`    // 日志额外信息
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func (a *SysLog) TableName() string {
 | 
					func (a *SysLog) TableName() string {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -16,7 +16,7 @@ type TagTree struct {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	Type     TagType `json:"type" gorm:"not null;default:-1;comment:类型: -1.普通标签; 1机器  2db 3redis 4mongo"`        // 类型: -1.普通标签; 其他值则为对应的资源类型
 | 
						Type     TagType `json:"type" gorm:"not null;default:-1;comment:类型: -1.普通标签; 1机器  2db 3redis 4mongo"`        // 类型: -1.普通标签; 其他值则为对应的资源类型
 | 
				
			||||||
	Code     string  `json:"code" gorm:"not null;size:50;index:idx_tag_code;comment:标识符"`                        // 标识编码, 若类型不为-1,则为对应资源编码
 | 
						Code     string  `json:"code" gorm:"not null;size:50;index:idx_tag_code;comment:标识符"`                        // 标识编码, 若类型不为-1,则为对应资源编码
 | 
				
			||||||
	CodePath string  `json:"codePath" gorm:"not null;size:800;index:idx_tag_code_path,length:255;comment:标识符路径"` // 标识路径,tag1/tag2/tagType1|tagCode/tagType2|yyycode/,非普通标签类型段含有标签类型
 | 
						CodePath string  `json:"codePath" gorm:"not null;size:700;index:idx_tag_code_path,length:255;comment:标识符路径"` // 标识路径,tag1/tag2/tagType1|tagCode/tagType2|yyycode/,非普通标签类型段含有标签类型
 | 
				
			||||||
	Name     string  `json:"name" gorm:"size:50;comment:名称"`                                                     // 名称
 | 
						Name     string  `json:"name" gorm:"size:50;comment:名称"`                                                     // 名称
 | 
				
			||||||
	Remark   string  `json:"remark" gorm:"size:255;"`                                                            // 备注说明
 | 
						Remark   string  `json:"remark" gorm:"size:255;"`                                                            // 备注说明
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -682,7 +682,7 @@ CREATE TABLE `t_sys_log` (
 | 
				
			|||||||
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
 | 
					  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
 | 
				
			||||||
  `type` tinyint(4) NOT NULL COMMENT '类型',
 | 
					  `type` tinyint(4) NOT NULL COMMENT '类型',
 | 
				
			||||||
  `description` varchar(255) DEFAULT NULL COMMENT '描述',
 | 
					  `description` varchar(255) DEFAULT NULL COMMENT '描述',
 | 
				
			||||||
  `req_param` varchar(2000) DEFAULT NULL COMMENT '请求信息',
 | 
					  `req_param` text DEFAULT NULL COMMENT '请求信息',
 | 
				
			||||||
  `resp` text DEFAULT NULL COMMENT '响应信息',
 | 
					  `resp` text DEFAULT NULL COMMENT '响应信息',
 | 
				
			||||||
  `creator` varchar(36) NOT NULL COMMENT '调用者',
 | 
					  `creator` varchar(36) NOT NULL COMMENT '调用者',
 | 
				
			||||||
  `creator_id` bigint(20) NOT NULL COMMENT '调用者id',
 | 
					  `creator_id` bigint(20) NOT NULL COMMENT '调用者id',
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user