/** * Interface principal do retorno contendo metadados do banco: * tabelas, views e procedures. */ export interface LogDatabaseSchemaInterface { message?: string; data: { tables: TableMetadata[]; views: ViewMetadata[]; primary_keys: PrimaryKeyMetadata[]; foreign_keys: ForeignKeyMetadata[]; indexes: IndexMetadata[]; procedures: ProcedureMetadata[]; triggers: TriggerMetadata[]; } } /** * Estrutura de cada item dentro de "tables". */ export interface TableMetadata { TABLE_NAME: string; FIELD_NAME: string; NULLABLE: string; // Vem como string ("NULL ") FIELD_TYPE: string; DEFAULT_VALUE: string | null; DESCRIPTION: string | null; } /** * Estrutura de cada item dentro de "primary_keys". */ export interface PrimaryKeyMetadata { TABLE_NAME: string; FIELD_NAME: string; CONSTRAINT_NAME: string; } /** * Estrutura de cada item dentro de "indexes". */ export interface IndexMetadata { TABLE_NAME: string; INDEX_NAME: string; FIELD_NAME: string; UNIQUENESS: string; SORT_ORDER: string; DESCRIPTION: string | null; } /** * Estrutura de cada item dentro de "foreign_keys". */ export interface ForeignKeyMetadata { TABLE_NAME: string; CONSTRAINT_NAME: string; FIELD_NAME: string; REF_CONSTRAINT_NAME: string; REFERENCED_TABLE: string; } /** * Estrutura de cada item dentro de "views". */ export interface ViewMetadata { VIEW_NAME: string; VIEW_DEFINITION: string; } /** * Estrutura de cada item dentro de "views". */ export interface TriggerMetadata { TRIGGER_NAME: string; TABLE_NAME: string | null, SEQUENCE: number, TYPE: number, SOURCE_CODE: string; STATUS: string } /** * Estrutura de cada item dentro de "procedures". */ export interface ProcedureMetadata { PROCEDURE_NAME: string; SOURCE_CODE: string; }