1 | export interface IDatabaseColumn {
|
2 | "extra": "" | "auto_increment";
|
3 | "default": null | "CURRENT_TIMESTAMP" | "0";
|
4 | "key": "" | "PRI";
|
5 | "null": "NO" | "YES";
|
6 | "type": string;
|
7 | "field": string;
|
8 | "enumValues": string[] | null;
|
9 | "length": number;
|
10 | "isPrimary": boolean;
|
11 | "index": number;
|
12 | }
|
13 | export interface IDatabaseTable {
|
14 | [columnName: string]: IDatabaseColumn;
|
15 | }
|
16 | export interface ITableDictionary {
|
17 | [table: string]: IDatabaseTable;
|
18 | }
|
19 | export interface IStoredProcedureDictionary {
|
20 | [sp: string]: IStoredProcedure;
|
21 | }
|
22 | export interface IStoredProcedureParameter {
|
23 | specificName: string;
|
24 | ordinalPosition: number;
|
25 | parameterMode: string;
|
26 | parameterName: string;
|
27 | dataType: string;
|
28 | characterMaximumLength: number | null;
|
29 | characterOctetLength: number | null;
|
30 | numericPrecision: number;
|
31 | numericScale: number;
|
32 | datetimePrecision: any;
|
33 | characterSetName: string | null;
|
34 | collationName: string | null;
|
35 | dtdIdentifier: string;
|
36 | specificCatalog: string;
|
37 | specificSchema: string;
|
38 | routineType: string;
|
39 | }
|
40 | export interface IStoredProcedure {
|
41 | name: string;
|
42 | parameters: {
|
43 | [param: string]: IStoredProcedureParameter;
|
44 | };
|
45 | }
|
46 | export interface IDatabaseSchema {
|
47 | tables: ITableDictionary;
|
48 | views: ITableDictionary;
|
49 | storedProcedures: IStoredProcedureDictionary;
|
50 | }
|