diff --git a/.editorconfig b/.editorconfig old mode 100755 new mode 100644 diff --git a/lib/MySQLEvents.js b/lib/MySQLEvents.js old mode 100755 new mode 100644 diff --git a/lib/STATEMENTS.enum.js b/lib/STATEMENTS.enum.js old mode 100755 new mode 100644 diff --git a/lib/eventHandler.js b/lib/eventHandler.js old mode 100755 new mode 100644 index c43681f..34d6791 --- a/lib/eventHandler.js +++ b/lib/eventHandler.js @@ -12,14 +12,18 @@ const parseExpression = (expression = '') => { }; const normalizeEvent = (event) => { - const dataEvents = [ - 'writerows', - 'updaterows', - 'deleterows', - ]; + // console.info({normalize:event, getEventName:event.getEventName()}) + const dataEvents = ['writerows', 'updaterows', 'deleterows', 'query']; if (dataEvents.indexOf(event.getEventName()) !== -1) { - return normalize(event); + if (!event.hasOwnProperty('tableMap')) { + if (event.hasOwnProperty('query') && (event.query.includes('ALTER TABLE') + ||event.query.includes('CREATE TABLE') ||event.query.includes('DROP TABLE') )) { + return { query: event.query, type: event.getEventName() }; + } + } else { + return normalize(event); + } } return event; @@ -31,7 +35,7 @@ const normalizeEvent = (event) => { * @return {Object[]} */ const findTriggers = (event, triggers) => { - if (!event.type) return []; + if (!event.hasOwnProperty('type')) return []; const triggerExpressions = Object.getOwnPropertyNames(triggers); const statements = []; @@ -60,4 +64,4 @@ const eventHandler = { findTriggers, }; -module.exports = eventHandler; +module.exports = eventHandler; \ No newline at end of file diff --git a/lib/index.js b/lib/index.js old mode 100755 new mode 100644