mirror of
https://github.com/DeNNiiInc/dbgate.git
synced 2026-04-30 19:43:58 +00:00
feat: add scheduler events to analyser
This commit is contained in:
@@ -10,7 +10,16 @@ import { extractErrorLogData } from './stringTools';
|
||||
|
||||
const logger = getLogger('dbAnalyser');
|
||||
|
||||
const STRUCTURE_FIELDS = ['tables', 'collections', 'views', 'matviews', 'functions', 'procedures', 'triggers'];
|
||||
const STRUCTURE_FIELDS = [
|
||||
'tables',
|
||||
'collections',
|
||||
'views',
|
||||
'matviews',
|
||||
'functions',
|
||||
'procedures',
|
||||
'triggers',
|
||||
'schedulerEvents',
|
||||
];
|
||||
|
||||
const fp_pick = arg => array => _pick(array, arg);
|
||||
|
||||
@@ -70,7 +79,9 @@ export class DatabaseAnalyser {
|
||||
}
|
||||
|
||||
async fullAnalysis() {
|
||||
logger.debug(`Performing full analysis, DB=${dbNameLogCategory(this.dbhan.database)}, engine=${this.driver.engine}`);
|
||||
logger.debug(
|
||||
`Performing full analysis, DB=${dbNameLogCategory(this.dbhan.database)}, engine=${this.driver.engine}`
|
||||
);
|
||||
const res = this.addEngineField(await this._runAnalysis());
|
||||
// console.log('FULL ANALYSIS', res);
|
||||
return res;
|
||||
@@ -255,6 +266,7 @@ export class DatabaseAnalyser {
|
||||
...this.getDeletedObjectsForField(snapshot, 'procedures'),
|
||||
...this.getDeletedObjectsForField(snapshot, 'functions'),
|
||||
...this.getDeletedObjectsForField(snapshot, 'triggers'),
|
||||
...this.getDeletedObjectsForField(snapshot, 'schedulerEvents'),
|
||||
];
|
||||
}
|
||||
|
||||
@@ -355,6 +367,7 @@ export class DatabaseAnalyser {
|
||||
functions: [],
|
||||
procedures: [],
|
||||
triggers: [],
|
||||
schedulerEvents: [],
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
15
packages/types/dbinfo.d.ts
vendored
15
packages/types/dbinfo.d.ts
vendored
@@ -157,6 +157,20 @@ export interface TriggerInfo extends SqlObjectInfo {
|
||||
eventType?: 'INSERT' | 'UPDATE' | 'DELETE' | 'TRUNCATE';
|
||||
}
|
||||
|
||||
export interface SchedulerEventInfo extends SqlObjectInfo {
|
||||
definer: string;
|
||||
eventType: 'RECURRING' | 'ONE TIME';
|
||||
onCompletion: 'PRESERVE' | 'NOT PRESERVE';
|
||||
status: 'ENABLED' | 'DISABLED';
|
||||
lastExecuted?: string;
|
||||
intervalValue: number;
|
||||
intervalField: string;
|
||||
starts: string;
|
||||
executeAt: string;
|
||||
enableSql: string;
|
||||
disableSql: string;
|
||||
}
|
||||
|
||||
export interface SchemaInfo {
|
||||
objectId?: string;
|
||||
schemaName: string;
|
||||
@@ -171,6 +185,7 @@ export interface DatabaseInfoObjects {
|
||||
procedures: ProcedureInfo[];
|
||||
functions: FunctionInfo[];
|
||||
triggers: TriggerInfo[];
|
||||
schedulerEvents: SchedulerEventInfo[];
|
||||
}
|
||||
|
||||
export interface DatabaseInfo extends DatabaseInfoObjects {
|
||||
|
||||
Reference in New Issue
Block a user