/** * 数据库对象模型(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 '未知'; } }