Hi Khushboo,

We can create a common function in Server node to fetch the servers and
then use that same function in the schema diff tool, currently we have
written the same function in schema diff tool to avoid duplicate code.


--
Regards,
Murtuza Zabuawala
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company



On Fri, Jan 10, 2020 at 3:42 PM Akshay Joshi <akshay.jo...@enterprisedb.com>
wrote:

> Added Schema Diff tool to compare two schemas and generate the difference
> script.
>
> Currently supported objects are Table, View, Materialized View, Function
> and Procedure.
>
> Backend comparison of two schemas implemented by: Akshay Joshi
>
> Fixes #3452.
>
> Branch
> ------
> master
>
> Details
> -------
>
> https://git.postgresql.org/gitweb?p=pgadmin4.git;a=commitdiff;h=45f2e35a99ee691d67c45982211238b8ad40d7de
> Author: Khushboo Vashi <khushboo.va...@enterprisedb.com>
>
> Modified Files
> --------------
> docs/en_US/release_notes_4_18.rst                  |   1 +
> .../browser/server_groups/servers/__init__.py      |   2 +
> .../server_groups/servers/databases/__init__.py    |   3 +
> .../servers/databases/schemas/__init__.py          |   2 +
> .../databases/schemas/collations/__init__.py       |  65 +-
> .../servers/databases/schemas/domains/__init__.py  |  79 +-
> .../domains/sql/9.2_plus/get_constraints.sql       |   2 +-
> .../domains/sql/default/get_constraints.sql        |   2 +-
> .../databases/schemas/foreign_tables/__init__.py   | 116 +--
> .../schemas/fts_configurations/__init__.py         |  59 +-
> .../databases/schemas/fts_dictionaries/__init__.py |  59 +-
> .../databases/schemas/fts_parsers/__init__.py      |  69 +-
> .../databases/schemas/fts_templates/__init__.py    |  70 +-
> .../databases/schemas/functions/__init__.py        |  92 ++-
> .../servers/databases/schemas/packages/__init__.py | 105 ++-
> .../schemas/packages/edbfuncs/__init__.py          |   5 +-
> .../databases/schemas/packages/edbvars/__init__.py |   5 +-
> .../databases/schemas/sequences/__init__.py        |  61 +-
> .../servers/databases/schemas/synonyms/__init__.py |  64 +-
> .../servers/databases/schemas/tables/__init__.py   | 192 ++++-
> .../databases/schemas/tables/columns/__init__.py   |   1 +
> .../schemas/tables/compound_triggers/__init__.py   | 142 +++-
> .../tables/constraints/index_constraint/utils.py   |   4 +-
> .../databases/schemas/tables/indexes/__init__.py   | 204 ++++-
> .../databases/schemas/tables/indexes/utils.py      |  15 +-
> .../schemas/tables/partitions/__init__.py          | 183 ++++-
> .../databases/schemas/tables/rules/__init__.py     | 127 +++-
> .../databases/schemas/tables/schema_diff_utils.py  | 507 +++++++++++++
> .../templates/columns/sql/10_plus/create.sql       |   2 +-
> .../templates/columns/sql/10_plus/update.sql       |  12 +-
> .../templates/columns/sql/12_plus/create.sql       |   2 +-
> .../templates/columns/sql/9.2_plus/update.sql      |  10 +-
> .../templates/columns/sql/default/create.sql       |   2 +-
> .../templates/columns/sql/default/update.sql       |  14 +-
> .../templates/partitions/sql/pg/10_plus/create.sql |   1 +
> .../templates/tables/sql/10_plus/schema_diff.sql   |  14 +
> .../databases/schemas/tables/triggers/__init__.py  | 116 ++-
> .../databases/schemas/tables/triggers/utils.py     |  17 +-
> .../servers/databases/schemas/tables/utils.py      | 113 ++-
> .../servers/databases/schemas/types/__init__.py    |  61 +-
> .../servers/databases/schemas/utils.py             | 148 ++--
> .../servers/databases/schemas/views/__init__.py    | 227 +++++-
> .../templates/views/pg/9.2_plus/sql/update.sql     |   2 +-
> .../templates/views/pg/9.3_plus/sql/update.sql     |   2 +-
> .../templates/views/pg/9.4_plus/sql/update.sql     |   2 +-
> .../databases/templates/databases/css/database.css |   5 +
> web/pgadmin/static/bundle/slickgrid.js             |   3 +
> web/pgadmin/static/js/backform.pgadmin.js          |   9 +-
> .../static/scss/resources/_default.variables.scss  |   7 +
> .../tools/datagrid/static/js/show_query_tool.js    |  19 +
> .../tools/datagrid/templates/datagrid/index.html   |   9 +
> web/pgadmin/tools/schema_diff/__init__.py          | 601 +++++++++++++++
> web/pgadmin/tools/schema_diff/compare.py           | 212 ++++++
> web/pgadmin/tools/schema_diff/directory_compare.py | 279 +++++++
> web/pgadmin/tools/schema_diff/model.py             |  76 ++
> web/pgadmin/tools/schema_diff/node_registry.py     |  61 ++
> .../tools/schema_diff/static/css/schema_diff.css   | 189 +++++
> .../tools/schema_diff/static/img/compare-white.svg |  15 +
> .../tools/schema_diff/static/img/compare.svg       |  15 +
> .../tools/schema_diff/static/img/script.svg        |  19 +
> .../schema_diff/static/js/schema_diff.backform.js  | 500 ++++++++++++
> .../tools/schema_diff/static/js/schema_diff.js     | 145 ++++
> .../schema_diff/static/js/schema_diff_hook.js      |  38 +
> .../tools/schema_diff/static/js/schema_diff_ui.js  | 845
> +++++++++++++++++++++
> .../schema_diff/static/scss/_schema_diff.scss      |  85 +++
> .../schema_diff/templates/schema_diff/index.html   |  31 +
> web/pgadmin/tools/schema_diff/tests/__init__.py    |   0
> .../tools/schema_diff/tests/pg/10_plus/source.sql  | 440 +++++++++++
> .../tools/schema_diff/tests/pg/10_plus/target.sql  | 429 +++++++++++
> .../tools/schema_diff/tests/pg/11_plus/source.sql  | 439 +++++++++++
> .../tools/schema_diff/tests/pg/11_plus/target.sql  | 428 +++++++++++
> .../tools/schema_diff/tests/pg/12_plus/source.sql  | 440 +++++++++++
> .../tools/schema_diff/tests/pg/12_plus/target.sql  | 417 ++++++++++
> .../tools/schema_diff/tests/pg/9.2_plus/source.sql | 311 ++++++++
> .../tools/schema_diff/tests/pg/9.2_plus/target.sql | 337 ++++++++
> .../schema_diff/tests/ppas/10_plus/source.sql      | 376 +++++++++
> .../schema_diff/tests/ppas/10_plus/target.sql      | 364 +++++++++
> .../schema_diff/tests/ppas/9.2_plus/source.sql     | 311 ++++++++
> .../schema_diff/tests/ppas/9.2_plus/target.sql     | 337 ++++++++
> .../schema_diff/tests/test_schema_diff_comp.py     | 204 +++++
> web/pgadmin/tools/schema_diff/tests/utils.py       | 103 +++
> web/pgadmin/tools/sqleditor/static/js/sqleditor.js |   8 +
> .../sqleditor/sql/default/primary_keys.sql         |   2 +-
> .../tools/sqleditor/utils/get_column_types.py      |  11 +-
> web/pgadmin/utils/csrf.py                          |   2 +
> web/webpack.config.js                              |   4 +-
> web/webpack.shim.js                                |   2 +
> 87 files changed, 10717 insertions(+), 392 deletions(-)
>
>

Reply via email to