初始化项目

This commit is contained in:
2026-10-19 00:11:38 +08:00
commit 9545e48e4d
150 changed files with 9559 additions and 0 deletions
+56
View File
@@ -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 '未知';
}
}