postgre analyser

This commit is contained in:
Jan Prochazka
2020-06-29 20:21:37 +02:00
parent 3c1be39976
commit 71861779e8
3 changed files with 15 additions and 0 deletions

View File

@@ -51,6 +51,7 @@ class PostgreAnalyser extends DatabaseAnalayser {
const pkColumns = await this.driver.query(this.pool, this.createQuery('primaryKeys', ['tables']));
const fkColumns = await this.driver.query(this.pool, this.createQuery('foreignKeys', ['tables']));
const views = await this.driver.query(this.pool, this.createQuery('views', ['views']));
const routines = await this.driver.query(this.pool, this.createQuery('routines', ['procedures', 'functions']));
// console.log('PG fkColumns', fkColumns.rows);
return this.mergeAnalyseResult({
@@ -68,6 +69,8 @@ class PostgreAnalyser extends DatabaseAnalayser {
.filter((col) => col.pureName == view.pureName && col.schemaName == view.schemaName)
.map(getColumnInfo),
})),
procedures: routines.rows.filter((x) => x.objectType == 'PROCEDURE'),
functions: routines.rows.filter((x) => x.objectType == 'FUNCTION'),
});
}
}

View File

@@ -3,6 +3,7 @@ const tableModifications = require('./tableModifications');
const primaryKeys = require('./primaryKeys');
const foreignKeys = require('./foreignKeys');
const views = require('./views');
const routines = require('./routines');
module.exports = {
columns,
@@ -10,4 +11,5 @@ module.exports = {
primaryKeys,
foreignKeys,
views,
routines,
};

View File

@@ -0,0 +1,10 @@
module.exports = `
select
routine_name as "pureName",
routine_schema as "schemaName",
routine_definition as "createSql",
md5(routine_definition) as "hashCode",
routine_type as "objectType"
from
information_schema.routines where routine_schema != 'information_schema' and routine_schema != 'pg_catalog' and routine_type is not null
`;