初始化项目
This commit is contained in:
@@ -0,0 +1,56 @@
|
||||
/**
|
||||
* 数据库对象模型(1.5.1)。
|
||||
*
|
||||
* 与引擎无关的内部表示:引擎驱动把各自的元数据转换为 DbObject 列表,
|
||||
* 上层(对象树、搜索、DDL 生成)只依赖本模型。
|
||||
*/
|
||||
export enum ObjectType {
|
||||
SCHEMA = 0,
|
||||
TABLE = 1,
|
||||
VIEW = 2,
|
||||
INDEX = 3,
|
||||
PROCEDURE = 4,
|
||||
FUNCTION = 5,
|
||||
TRIGGER = 6,
|
||||
SEQUENCE = 7,
|
||||
TYPE = 8,
|
||||
SYNONYM = 9
|
||||
}
|
||||
|
||||
export interface DbObject {
|
||||
/** 全库唯一 id,建议用 schema + type + name 组合。 */
|
||||
id: string;
|
||||
name: string;
|
||||
type: ObjectType;
|
||||
schema: string;
|
||||
/** 父对象 id;根对象为空字符串。 */
|
||||
parentId: string;
|
||||
}
|
||||
|
||||
/** 对象类型显示名。 */
|
||||
export function objectTypeLabel(type: ObjectType): string {
|
||||
switch (type) {
|
||||
case ObjectType.SCHEMA:
|
||||
return '模式';
|
||||
case ObjectType.TABLE:
|
||||
return '表';
|
||||
case ObjectType.VIEW:
|
||||
return '视图';
|
||||
case ObjectType.INDEX:
|
||||
return '索引';
|
||||
case ObjectType.PROCEDURE:
|
||||
return '存储过程';
|
||||
case ObjectType.FUNCTION:
|
||||
return '函数';
|
||||
case ObjectType.TRIGGER:
|
||||
return '触发器';
|
||||
case ObjectType.SEQUENCE:
|
||||
return '序列';
|
||||
case ObjectType.TYPE:
|
||||
return '类型';
|
||||
case ObjectType.SYNONYM:
|
||||
return '同义词';
|
||||
default:
|
||||
return '未知';
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user