From af32e3c296c4fc7c169b59f8a48bdf28e7a31536 Mon Sep 17 00:00:00 2001 From: Aditya Toshniwal Date: Wed, 9 Nov 2022 11:36:04 +0530 Subject: [PATCH] Added the ability to generate ERDs for tables. #4756 --- docs/en_US/images/preferences_erd_options.png | Bin 60514 -> 119887 bytes docs/en_US/preferences.rst | 4 ++ .../schemas/tables/static/js/table.js | 14 ++++- .../foreign_key/sql/default/properties.sql | 1 + .../tables/sql/default/fk_ref_tables.sql | 10 +++ .../servers/databases/schemas/tables/utils.py | 16 +++++ .../servers/databases/static/js/database.js | 2 +- web/pgadmin/static/js/socket_instance.js | 4 ++ web/pgadmin/tools/erd/__init__.py | 18 +++++- web/pgadmin/tools/erd/static/js/ERDModule.js | 5 ++ .../static/js/erd_tool/components/ERDTool.jsx | 13 +++- web/pgadmin/tools/erd/utils.py | 59 ++++++++++++++++-- .../erd/ui_components/ERDTool.spec.js | 2 +- 13 files changed, 136 insertions(+), 12 deletions(-) create mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/default/fk_ref_tables.sql diff --git a/docs/en_US/images/preferences_erd_options.png b/docs/en_US/images/preferences_erd_options.png index e942ff15c3300da88fc95ca0d5c782185eb716c8..ec5e9515da88c1a548881d312e1a63fd66e24c9a 100644 GIT binary patch literal 119887 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

ezCFW*t)dmGBy8Ruk$HA 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�{<(PA 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 U&YP*l3ufhx`dzgORh!WN0lsr%JOBUy diff --git a/docs/en_US/preferences.rst b/docs/en_US/preferences.rst index ce0f672cf..4fe0d336d 100644 --- a/docs/en_US/preferences.rst +++ b/docs/en_US/preferences.rst @@ -196,6 +196,10 @@ Use the fields on the *Options* panel to manage ERD preferences. generated by the ERD Tool will add DROP table DDL before each CREATE table DDL. +* *Table Relation Depth* is useful when generating an ERD for a table. + It allows to set the limit on the depth level pgAdmin should traverse + to find the relations. Use -1 to set no limit. + The Graphs Node *************** diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/static/js/table.js b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/static/js/table.js index dbb88f835..f47bd7d25 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/static/js/table.js +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/static/js/table.js @@ -121,7 +121,11 @@ define('pgadmin.node.table', [ applies: ['object', 'context'], callback: 'count_table_rows', category: 'Count', priority: 2, label: gettext('Count Rows'), enable: true, - }, + },{ + name: 'generate_erd', node: 'table', module: this, + applies: ['object', 'context'], callback: 'generate_erd', + category: 'erd', priority: 5, label: gettext('ERD For Table'), + } ]); pgBrowser.Events.on( 'pgadmin:browser:node:table:updated', this.onTableUpdated, this @@ -289,6 +293,14 @@ define('pgadmin.node.table', [ t.unload(i); }); }, + /* Generate the ERD */ + generate_erd: function(args) { + let input = args || {}, + t = pgBrowser.tree, + i = input.item || t.selected(), + d = i ? t.itemData(i) : undefined; + pgAdmin.Tools.ERD.showErdTool(d, i, true); + }, }, getSchema: function(treeNodeInfo, itemNodeData) { return getNodeTableSchema(treeNodeInfo, itemNodeData, pgBrowser); diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/foreign_key/sql/default/properties.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/foreign_key/sql/default/properties.sql index 610100093..06834fe25 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/foreign_key/sql/default/properties.sql +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/foreign_key/sql/default/properties.sql @@ -13,6 +13,7 @@ SELECT ct.oid, confrelid, nl.nspname as fknsp, cl.relname as fktab, + nr.oid as refnspoid, nr.nspname as refnsp, cr.relname as reftab, description as comment, diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/default/fk_ref_tables.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/default/fk_ref_tables.sql new file mode 100644 index 000000000..d4ad8c9e0 --- /dev/null +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/default/fk_ref_tables.sql @@ -0,0 +1,10 @@ +SELECT + co.conrelid as confrelid, co.conname, nl.oid as refnspoid +FROM pg_catalog.pg_depend dep + JOIN pg_catalog.pg_constraint co ON dep.objid=co.oid + JOIN pg_catalog.pg_class cl ON cl.oid=co.conrelid + JOIN pg_catalog.pg_namespace nl ON nl.oid=cl.relnamespace + WHERE dep.refobjid={{oid}}::OID + AND deptype = 'n' + + diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/utils.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/utils.py index 07dc5b1a2..d00de4855 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/utils.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/utils.py @@ -395,6 +395,22 @@ class BaseTableView(PGChildNodeView, BasePartitionTable, VacuumSettings): status=200 ) + def get_fk_ref_tables(self, tid): + """ + This function get the depending tables of the current table. + The tables depending on tid table using FK relation. + Args: + tid: Table ID + """ + sql = render_template("/".join([self.table_template_path, + 'fk_ref_tables.sql']), oid=tid) + + status, res = self.conn.execute_dict(sql) + if not status: + return status, res + + return status, res['rows'] + def get_table_statistics(self, scid, tid): """ Statistics diff --git a/web/pgadmin/browser/server_groups/servers/databases/static/js/database.js b/web/pgadmin/browser/server_groups/servers/databases/static/js/database.js index d525cffc7..7df2d1a00 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/static/js/database.js +++ b/web/pgadmin/browser/server_groups/servers/databases/static/js/database.js @@ -98,7 +98,7 @@ define('pgadmin.node.database', [ },{ name: 'generate_erd', node: 'database', module: this, applies: ['object', 'context'], callback: 'generate_erd', - category: 'erd', priority: 5, label: gettext('Generate ERD'), + category: 'erd', priority: 5, label: gettext('ERD For Database'), enable: (node) => { return node.allowConn; } diff --git a/web/pgadmin/static/js/socket_instance.js b/web/pgadmin/static/js/socket_instance.js index ee5338682..24dde5da6 100644 --- a/web/pgadmin/static/js/socket_instance.js +++ b/web/pgadmin/static/js/socket_instance.js @@ -7,6 +7,7 @@ // ////////////////////////////////////////////////////////////// import { io } from 'socketio'; +import gettext from 'sources/gettext'; export function openSocket(namespace, options) { return new Promise((resolve, reject)=>{ @@ -41,5 +42,8 @@ export function socketApiGet(socket, endpoint, params) { socket.on(`${endpoint}_failed`, (data)=>{ reject(data); }); + socket.on('disconnect', ()=>{ + reject(gettext('Connection to pgAdmin server has been lost')); + }); }); } diff --git a/web/pgadmin/tools/erd/__init__.py b/web/pgadmin/tools/erd/__init__.py index 5100a39f9..25005b276 100644 --- a/web/pgadmin/tools/erd/__init__.py +++ b/web/pgadmin/tools/erd/__init__.py @@ -386,6 +386,20 @@ class ERDModule(PgAdminModule): ) ) + self.preference.register( + 'options', + 'table_relation_depth', + gettext('Table Relation Depth'), + 'integer', + -1, + category_label=PREF_LABEL_OPTIONS, + help_str=gettext( + 'The maximum depth pgAdmin should traverse to find ' + 'related tables when generating an ERD for a table. ' + 'Use -1 for no limit.' + ) + ) + blueprint = ERDModule(MODULE_NAME, __name__, static_url_path='/static') @@ -621,7 +635,9 @@ def tables(params): try: helper = ERDHelper(params['trans_id'], params['sid'], params['did']) _get_connection(params['sid'], params['did'], params['trans_id']) - status, tables = helper.get_all_tables() + + status, tables = helper.get_all_tables(params.get('scid', None), + params.get('tid', None)) if not status: socketio.emit('tables_failed', tables, diff --git a/web/pgadmin/tools/erd/static/js/ERDModule.js b/web/pgadmin/tools/erd/static/js/ERDModule.js index ad2d05832..a2d10c6e4 100644 --- a/web/pgadmin/tools/erd/static/js/ERDModule.js +++ b/web/pgadmin/tools/erd/static/js/ERDModule.js @@ -193,6 +193,11 @@ export default class ERDModule { +`&did=${parentData.database._id}` +`&gen=${gen}`; + if(parentData.table) { + openUrl += `&scid=${parentData.schema._id}` + +`&tid=${parentData.table._id}`; + } + return openUrl; } diff --git a/web/pgadmin/tools/erd/static/js/erd_tool/components/ERDTool.jsx b/web/pgadmin/tools/erd/static/js/erd_tool/components/ERDTool.jsx index 4571d10c4..399cecb9f 100644 --- a/web/pgadmin/tools/erd/static/js/erd_tool/components/ERDTool.jsx +++ b/web/pgadmin/tools/erd/static/js/erd_tool/components/ERDTool.jsx @@ -355,7 +355,6 @@ class ERDTool extends React.Component { } else { window.removeEventListener('beforeunload', this.onBeforeUnload); } - } componentWillUnmount() { @@ -660,7 +659,7 @@ class ERDTool extends React.Component { } onSQLClick(sqlWithDrop=false) { - let scriptHeader = gettext('-- This script was generated by a beta version of the ERD tool in pgAdmin 4.\n'); + let scriptHeader = gettext('-- This script was generated by the ERD tool in pgAdmin 4.\n'); scriptHeader += gettext('-- Please log an issue at https://redmine.postgresql.org/projects/pgadmin4/issues/new if you find any bugs, including reproduction steps.\n'); let url = url_for('erd.sql', { @@ -926,12 +925,18 @@ class ERDTool extends React.Component { sgid: parseInt(this.props.params.sgid), sid: parseInt(this.props.params.sid), did: parseInt(this.props.params.did), + scid: this.props.params.scid ? parseInt(this.props.params.scid) : undefined, + tid: this.props.params.tid ? parseInt(this.props.params.tid) : undefined, }); } catch (error) { this.handleAxiosCatch(error); } socket?.disconnect(); - this.diagram.deserializeData(resData); + try { + this.diagram.deserializeData(resData); + } catch (error) { + this.handleAxiosCatch(error); + } this.setLoading(null); } @@ -964,6 +969,8 @@ ERDTool.propTypes = { sgid: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired, sid: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired, did: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired, + scid: PropTypes.oneOfType([PropTypes.number, PropTypes.string]), + tid: PropTypes.oneOfType([PropTypes.number, PropTypes.string]), server_type: PropTypes.string.isRequired, title: PropTypes.string.isRequired, bgcolor: PropTypes.string, diff --git a/web/pgadmin/tools/erd/utils.py b/web/pgadmin/tools/erd/utils.py index ebe29e425..9145914e2 100644 --- a/web/pgadmin/tools/erd/utils.py +++ b/web/pgadmin/tools/erd/utils.py @@ -13,6 +13,7 @@ from pgadmin.browser.server_groups.servers.databases.schemas.utils \ import get_schemas from pgadmin.browser.server_groups.servers.databases.schemas.utils \ import DataTypeReader +from pgadmin.utils.preferences import Preferences class ERDTableView(BaseTableView, DataTypeReader): @@ -31,7 +32,7 @@ class ERDTableView(BaseTableView, DataTypeReader): return DataTypeReader.get_types(self, self.conn, condition, True) @BaseTableView.check_precondition - def fetch_all_tables(self, conn_id=None, did=None, sid=None): + def fetch_all_tables(self, did=None, sid=None): status, schemas = get_schemas(self.conn, show_system_objects=False) if not status: return status, schemas @@ -47,6 +48,44 @@ class ERDTableView(BaseTableView, DataTypeReader): return True, all_tables + @BaseTableView.check_precondition + def traverse_related_tables(self, did=None, sid=None, scid=None, + tid=None, related={}, maxdepth=0, currdepth=0): + + status, res = \ + BaseTableView.fetch_tables(self, sid, did, scid, tid=tid) + + if not status: + return status, res + + related[tid] = res + # Max depth limit reached + if currdepth == maxdepth: + new_fks = [] + for fk in related[tid].pop('foreign_key', []): + if fk['confrelid'] in related: + new_fks.append(fk) + + related[tid]['foreign_key'] = new_fks + return True, None + + status, depending_res = BaseTableView.get_fk_ref_tables( + self, tid) + + if not status: + return status, depending_res + + for fk in [*res.get('foreign_key', []), *depending_res]: + if fk['confrelid'] in related: + continue + status, res = self.traverse_related_tables( + did=did, sid=sid, scid=fk['refnspoid'], tid=fk['confrelid'], + related=related, maxdepth=maxdepth, currdepth=currdepth + 1) + if not status: + return status, res + + return True, None + class ERDHelper: def __init__(self, conn_id, sid, did): @@ -66,8 +105,18 @@ class ERDHelper: data=data, with_drop=with_drop) return SQL - def get_all_tables(self): - status, res = self.table_view.fetch_all_tables( - conn_id=self.conn_id, did=self.did, sid=self.sid) - + def get_all_tables(self, scid, tid): + if tid is None and scid is None: + status, res = self.table_view.fetch_all_tables( + did=self.did, sid=self.sid) + else: + prefs = Preferences.module('erd') + table_relation_depth = prefs.preference('table_relation_depth') + related = {} + status, res = self.table_view.traverse_related_tables( + did=self.did, sid=self.sid, scid=scid, tid=tid, + related=related, maxdepth=table_relation_depth.get() + ) + if status: + res = list(related.values()) return status, res diff --git a/web/regression/javascript/erd/ui_components/ERDTool.spec.js b/web/regression/javascript/erd/ui_components/ERDTool.spec.js index d2d8d0b73..16dee160c 100644 --- a/web/regression/javascript/erd/ui_components/ERDTool.spec.js +++ b/web/regression/javascript/erd/ui_components/ERDTool.spec.js @@ -393,7 +393,7 @@ describe('ERDTool', ()=>{ bodyInstance.onSQLClick(); setTimeout(()=>{ - let sql = '-- This script was generated by a beta version of the ERD tool in pgAdmin 4.\n' + let sql = '-- This script was generated by the ERD tool in pgAdmin 4.\n' + '-- Please log an issue at https://redmine.postgresql.org/projects/pgadmin4/issues/new if you find any bugs, including reproduction steps.\n' + 'BEGIN;\nSELECT 1;\nEND;';