mirror of
https://github.com/DeNNiiInc/dbgate.git
synced 2026-04-19 08:26:01 +00:00
feat: sqlite triggers
This commit is contained in:
@@ -149,9 +149,12 @@ class Analyser extends DatabaseAnalyser {
|
|||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const triggers = await this.driver.query(this.dbhan, sql.triggers);
|
||||||
|
|
||||||
return {
|
return {
|
||||||
tables: tableList,
|
tables: tableList,
|
||||||
views: viewList,
|
views: viewList,
|
||||||
|
triggers: triggers.rows,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,8 +1,11 @@
|
|||||||
const objects = require('./objects.js');
|
const objects = require('./objects.js');
|
||||||
const objectsConditioned = require('./objectsConditioned.js');
|
const objectsConditioned = require('./objectsConditioned.js');
|
||||||
const indexcols = require('./indexcols.js');
|
const indexcols = require('./indexcols.js');
|
||||||
|
const triggers = require('./triggers.js');
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
objects,
|
objects,
|
||||||
objectsConditioned,
|
objectsConditioned,
|
||||||
indexcols,
|
indexcols,
|
||||||
|
triggers,
|
||||||
};
|
};
|
||||||
|
|||||||
23
plugins/dbgate-plugin-sqlite/src/backend/sql/triggers.js
Normal file
23
plugins/dbgate-plugin-sqlite/src/backend/sql/triggers.js
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
module.exports = `
|
||||||
|
SELECT
|
||||||
|
rowid AS objectId,
|
||||||
|
name AS pureName,
|
||||||
|
CASE
|
||||||
|
WHEN sql LIKE '% AFTER %' THEN 'AFTER'
|
||||||
|
WHEN sql LIKE '% BEFORE %' THEN 'BEFORE'
|
||||||
|
WHEN sql LIKE '% INSTEAD OF %' THEN 'INSTEAD OF'
|
||||||
|
ELSE 'UNKNOWN'
|
||||||
|
END AS triggerTiming,
|
||||||
|
CASE
|
||||||
|
WHEN sql LIKE '% INSERT %' THEN 'INSERT'
|
||||||
|
WHEN sql LIKE '% UPDATE %' THEN 'UPDATE'
|
||||||
|
WHEN sql LIKE '% DELETE %' THEN 'DELETE'
|
||||||
|
ELSE NULL
|
||||||
|
END AS eventType,
|
||||||
|
tbl_name AS tableName,
|
||||||
|
sql AS createSql
|
||||||
|
FROM
|
||||||
|
sqlite_master
|
||||||
|
WHERE
|
||||||
|
type = 'trigger';
|
||||||
|
`;
|
||||||
Reference in New Issue
Block a user