mirror of
https://github.com/DeNNiiInc/dbgate.git
synced 2026-04-18 02:06:01 +00:00
feat: add mysql triggers to analyser
This commit is contained in:
@@ -160,6 +160,9 @@ class Analyser extends DatabaseAnalyser {
|
||||
this.feedback({ analysingMessage: 'Loading indexes' });
|
||||
const indexes = await this.analyserQuery('indexes', ['tables']);
|
||||
this.feedback({ analysingMessage: 'Loading uniques' });
|
||||
|
||||
const triggers = await this.analyserQuery('triggers');
|
||||
|
||||
const uniqueNames = await this.analyserQuery('uniqueNames', ['tables']);
|
||||
this.feedback({ analysingMessage: 'Finalizing DB structure' });
|
||||
|
||||
@@ -236,6 +239,16 @@ class Analyser extends DatabaseAnalyser {
|
||||
contentHash: _.isDate(x.modifyDate) ? x.modifyDate.toISOString() : x.modifyDate,
|
||||
parameters: functionNameToParameters[x.pureName],
|
||||
})),
|
||||
triggers: triggers.rows.map(row => ({
|
||||
objectId: row.triggerName,
|
||||
contentHash: row.modifyDate,
|
||||
triggerName: row.triggerName,
|
||||
eventType: row.triggerEvent,
|
||||
triggerTiming: row.triggerTiming,
|
||||
schemaName: row.schemaName,
|
||||
tableName: row.tableName,
|
||||
createSql: row.definition,
|
||||
})),
|
||||
};
|
||||
this.feedback({ analysingMessage: null });
|
||||
return res;
|
||||
|
||||
@@ -11,6 +11,7 @@ const functionModifications = require('./functionModifications');
|
||||
const uniqueNames = require('./uniqueNames');
|
||||
const viewTexts = require('./viewTexts');
|
||||
const parameters = require('./parameters');
|
||||
const triggers = require('./triggers');
|
||||
|
||||
module.exports = {
|
||||
columns,
|
||||
@@ -26,4 +27,5 @@ module.exports = {
|
||||
indexes,
|
||||
uniqueNames,
|
||||
viewTexts,
|
||||
triggers,
|
||||
};
|
||||
|
||||
13
plugins/dbgate-plugin-mysql/src/backend/sql/triggers.js
Normal file
13
plugins/dbgate-plugin-mysql/src/backend/sql/triggers.js
Normal file
@@ -0,0 +1,13 @@
|
||||
module.exports = `
|
||||
SELECT
|
||||
TRIGGER_NAME AS triggerName,
|
||||
EVENT_MANIPULATION AS eventType,
|
||||
ACTION_TIMING AS triggerTiming,
|
||||
EVENT_OBJECT_SCHEMA AS schemaName,
|
||||
EVENT_OBJECT_TABLE AS tableName,
|
||||
ACTION_STATEMENT AS definition,
|
||||
CREATED as modifyDate
|
||||
FROM
|
||||
INFORMATION_SCHEMA.TRIGGERS
|
||||
WHERE EVENT_OBJECT_SCHEMA = '#DATABASE#' AND TRIGGER_NAME =OBJECT_ID_CONDITION
|
||||
`;
|
||||
Reference in New Issue
Block a user