feat: add firebird triggers

This commit is contained in:
Nybkox
2025-05-07 00:29:42 +02:00
parent 3e2840ca15
commit 3fd3de1828
4 changed files with 58 additions and 1 deletions

View File

@@ -1,6 +1,6 @@
const _ = require('lodash');
const sql = require('./sql');
const { getDataTypeString } = require('./helpers');
const { getDataTypeString, getTriggerTiming, getTriggerEventType } = require('./helpers');
const { DatabaseAnalyser } = require('dbgate-tools');
@@ -12,6 +12,7 @@ class Analyser extends DatabaseAnalyser {
async _runAnalysis() {
const tablesResult = await this.driver.query(this.dbhan, sql.tables);
const columnsResult = await this.driver.query(this.dbhan, sql.columns);
const triggersResult = await this.driver.query(this.dbhan, sql.triggers);
const columns = columnsResult.rows.map(i => ({
tableName: i.TABLENAME,
@@ -28,6 +29,7 @@ class Analyser extends DatabaseAnalyser {
pureName: i.PURENAME,
schemaName: i.SCHEMANAME,
}));
const tables = tablesResult.rows.map(i => ({
pureName: i.PURENAME,
objectId: i.OBJECTID,
@@ -35,6 +37,14 @@ class Analyser extends DatabaseAnalyser {
objectComment: i.OBJECTCOMMENT,
}));
const triggers = triggersResult.rows.map(i => ({
pureName: i.PURENAME,
tableName: i.TABLENAME,
shcemaName: i.SCHEMANAME,
eventType: getTriggerEventType(i.TRIGGERTYPE),
triggerTiming: getTriggerTiming(i.TRIGGERTYPE),
}));
return {
tables: tables.map(table => ({
...table,
@@ -42,6 +52,7 @@ class Analyser extends DatabaseAnalyser {
column => column.tableName === table.pureName && column.schemaName === table.schemaName
),
})),
triggers,
};
}