Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1l2WQi-0002Cp-CX for pgadmin-hackers@arkaria.postgresql.org; Thu, 21 Jan 2021 09:39:05 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1l2WQh-0004aN-Ap for pgadmin-hackers@arkaria.postgresql.org; Thu, 21 Jan 2021 09:39:03 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1l2WQg-0004aG-P0 for pgadmin-hackers@lists.postgresql.org; Thu, 21 Jan 2021 09:39:03 +0000 Received: from mail-ej1-x62d.google.com ([2a00:1450:4864:20::62d]) by makus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1l2WQd-0006ez-7P for pgadmin-hackers@postgresql.org; Thu, 21 Jan 2021 09:39:01 +0000 Received: by mail-ej1-x62d.google.com with SMTP id 6so1671736ejz.5 for ; Thu, 21 Jan 2021 01:38:58 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pgadmin.org; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=iZnaM6eybigGCBWcBGKRYUZje9AFjjTMVf0GWgKrbl8=; b=VTUBeYlyKMTP9ovyO+rBmPZLaUbN0eZ7lPipPMfJnRjgHNS8xSUvnhwXg5WWxei1zD rCUgM1q6B5l34liBEopalWrh/2d9FcA2xmpIrzLSq8iy43OsBQiDNcjK6ZqqiS9mr7OB ZOEEMB6cmSsy1hQ2gSDaDFtHHMyuPi0kQGSvRnWNpVaDbhHltz8OF0Jp5f1iA/LYALSg SdfEWH/iiV/FFiqpBAtprAaz+XuAI/MKY3a/nDk0CJkKGs4/btAnoaQzNDRRuJqdh/RH avsAEYRkJ0lXfZBMIcaKBQkOXbTzlfNJ+xz1UilBR0uLDJ3cDGVSCm59AwjcQF4HqU9K P6Jg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=iZnaM6eybigGCBWcBGKRYUZje9AFjjTMVf0GWgKrbl8=; b=nunv/dGrH/nWfrfvfk+rDArrs37e7YaMSq50Vwvne2Kh0GdrfygR4JiMqoI7wqKuVB 2EM0nyoTqbqnLcfD1p3RxD2xfZYaDZIUd89m3ZHcMVycVfQMzWSMK0+OJLry64fSXTjn 2NZ6inFY5yACJXLNZmsTKV0oV9btsQEZhSoZmv2zoymyrntFFBF+wE9kTRZdYpCyk1Vw Ov/9RK0aJav+yPNaNnPogi2v0JxS1/we/Off+/B/FhDF1liqIk3Bu8YIMUs5kf2JJXWL yGKiQwdAZux5VCkGMoGF58McYY26CiSx+9okBQEmBQ1KhDFwHhBlJ3CGwW8errm9q0Zt p6/g== X-Gm-Message-State: AOAM530oc1E+C0p2gNmfugkhN9srTBqweCp0UK0jzc2YZx4yWKC1u7a4 eCUTPx7O4PvimNSq5cIM/KMBMgZghLnLU2z93k0tFw== X-Google-Smtp-Source: ABdhPJz8H1EUbqaPH1dPS2w51v2I603LeyHF14XOCCuZ6n6hsMb6ch+Gs+soxkzoYp4WT8DUni2YaNNAN17lUwfhAug= X-Received: by 2002:a17:907:9f9:: with SMTP id ce25mr9273827ejc.352.1611221937518; Thu, 21 Jan 2021 01:38:57 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: Dave Page Date: Thu, 21 Jan 2021 09:38:46 +0000 Message-ID: Subject: Re: [pgAdmin][RM1802] ERD Tool (Beta) To: Aditya Toshniwal Cc: Akshay Joshi , Khushboo Vashi , pgadmin-hackers Content-Type: multipart/alternative; boundary="0000000000003d8f4005b965d75f" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk --0000000000003d8f4005b965d75f Content-Type: text/plain; charset="UTF-8" On Thu, Jan 21, 2021 at 4:48 AM Aditya Toshniwal < aditya.toshniwal@enterprisedb.com> wrote: > Hi Dave, > > On Wed, Jan 20, 2021 at 9:20 PM Dave Page wrote: > >> Hi >> >> Where's the Save Image button gone? I know Aditya was removing it whilst >> working on other things, but it's still required for phase 1 release. >> > It was not working 100% right. :( > So I've removed it for the time being. I'm still working on it. > OK, so that work will be completed in time for the build next week? > >> On Mon, Jan 18, 2021 at 11:45 AM Akshay Joshi < >> akshay.joshi@enterprisedb.com> wrote: >> >>> Thanks, patch applied. >>> >>> On Mon, Jan 18, 2021 at 5:08 PM Aditya Toshniwal < >>> aditya.toshniwal@enterprisedb.com> wrote: >>> >>>> OK, So the changes have worked. But still failing at one more place. >>>> Attached the patch fixes it. >>>> >>>> On Mon, Jan 18, 2021 at 4:40 PM Akshay Joshi < >>>> akshay.joshi@enterprisedb.com> wrote: >>>> >>>>> Thanks, patch applied. >>>>> >>>>> On Mon, Jan 18, 2021 at 2:58 PM Aditya Toshniwal < >>>>> aditya.toshniwal@enterprisedb.com> wrote: >>>>> >>>>>> Hi, >>>>>> >>>>>> The jasmine test cases are working fine on my local machine. The test >>>>>> cases are successful on jenkins other than on linux, not sure why. >>>>>> I have made some fixes by looking at the log. Please review and try. >>>>>> >>>>>> On Mon, Jan 18, 2021 at 1:10 PM Akshay Joshi < >>>>>> akshay.joshi@enterprisedb.com> wrote: >>>>>> >>>>>>> Thanks, patch applied. >>>>>>> >>>>>>> On Mon, Jan 18, 2021 at 10:34 AM Aditya Toshniwal < >>>>>>> aditya.toshniwal@enterprisedb.com> wrote: >>>>>>> >>>>>>>> Hi Akshay, >>>>>>>> >>>>>>>> I forgot to remove few of the dependencies which are not required >>>>>>>> as of now (may be in future). Attached patch removes those dependencies >>>>>>>> from package.json. >>>>>>>> >>>>>>>> On Sat, Jan 16, 2021 at 5:08 PM Akshay Joshi < >>>>>>>> akshay.joshi@enterprisedb.com> wrote: >>>>>>>> >>>>>>>>> Thanks, patch applied. >>>>>>>>> >>>>>>>>> On Fri, Jan 15, 2021 at 7:01 PM Aditya Toshniwal < >>>>>>>>> aditya.toshniwal@enterprisedb.com> wrote: >>>>>>>>> >>>>>>>>>> Hi, >>>>>>>>>> >>>>>>>>>> I've fixed the issues. You can find the comments inline. >>>>>>>>>> I've also added PropTypes for the components for increased >>>>>>>>>> validation. >>>>>>>>>> >>>>>>>>>> On Tue, Jan 12, 2021 at 12:18 PM Khushboo Vashi < >>>>>>>>>> khushboo.vashi@enterprisedb.com> wrote: >>>>>>>>>> >>>>>>>>>>> Hi Aditya, >>>>>>>>>>> >>>>>>>>>>> The functionalities and the code looks good to me, however some of the comments as below: >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> - Correct the comments at some places (3 occurrences found in /erd/__init__.py) which mention Schema diff instead of ERD. >>>>>>>>>>> >>>>>>>>>>> Some comments in the JS/JSX file regarding components/functions (For example, IconButton (forwardRef), Bodywidget etc.) would >>>>>>>>>>> >>>>>>>>>>> be great help as we all are new to React. >>>>>>>>>>> >>>>>>>>>>> Done. Added comments to the components. >>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> - Remove the unused imports (for ex bad_request) in /erd/__init__.py >>>>>>>>>>> >>>>>>>>>>> Removed. >>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> - Remove commented code >>>>>>>>>>> >>>>>>>>>>> # req_args = request.args >>>>>>>>>>> # if ('recreate' in req_args and >>>>>>>>>>> # req_args['recreate'] == '1'): >>>>>>>>>>> # connect = False >>>>>>>>>>> >>>>>>>>>>> Removed. >>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> - TableNode.jsx, below two lines can be combined. >>>>>>>>>>> >>>>>>>>>>> import { PortModelAlignment, DefaultNodeModel } from >>>>>>>>>>> '@projectstorm/react-diagrams'; >>>>>>>>>>> import { PortWidget } from '@projectstorm/react-diagrams'; >>>>>>>>>>> >>>>>>>>>>> Done. >>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> - onImageClick function in BodyWidget.jsx is no use I think, so it should be removed. >>>>>>>>>>> >>>>>>>>>>> I wanted to keep the code as it will be used in future. Anyway, >>>>>>>>>> I've removed the code. >>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> - I got some console errors while adding/editing tables. Refer to the attached screenshot. >>>>>>>>>>> >>>>>>>>>>> I tried but I didn't get any. Looking at the screenshot, the >>>>>>>>>> error is from the underlying library. Can't do much in this. >>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> - In the column Edit Mode, while deleting the primary key, it gives the error, which does not go away with any further modifications. >>>>>>>>>>> >>>>>>>>>>> Fixed. >>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> - While generating the SQL, if the server is disconnected, a proper error message should be thrown, right now some server side error is coming. >>>>>>>>>>> >>>>>>>>>>> It will show connection lost error now. Fixed. >>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> - Please remove ... from the menu title (New ERD Project(Beta)...) as it is not opening a dialog. >>>>>>>>>>> >>>>>>>>>>> Done. >>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> - For large data sets, generate ERD hangs. >>>>>>>>>>> >>>>>>>>>>> It shows the spinner and waits for the response to come from the >>>>>>>>>> back end. I've used the existing table fetching code which is used at other >>>>>>>>>> places. I'll create an RM to improve the back end code for fetching the >>>>>>>>>> tables data which will help the schema diff tool as well. >>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> - Opening the ERD panel in a new window is not working, it opens in the same tab even if you have set the Preference "Open in new browser tab" to True. >>>>>>>>>>> >>>>>>>>>>> Fixed. Added the setting in "Tab settings". >>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> - No shortcut is provided to open the ERD Tool. >>>>>>>>>>> >>>>>>>>>>> A shortcut is helpful if we are using it frequently. ERD tool >>>>>>>>>> won't be used that frequently. We already have a limited number >>>>>>>>>> of keys available for shortcuts. I think we should roll out without >>>>>>>>>> shortcut for now. If there is a user demand for it then we can think of >>>>>>>>>> adding it. >>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> - SonarQube fixes required. >>>>>>>>>>> >>>>>>>>>>> Fixed. >>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> - >>>>>>>>>>> >>>>>>>>>>> *Suggestion:* >>>>>>>>>>> >>>>>>>>>>> While removal of the FK link, If any of the table is selected, it is being deleted with FK link. >>>>>>>>>>> Either we should warn the user OR make 2 different buttons for FK removal and table removal as the user may be confused if the selected table is also removed with the FK. >>>>>>>>>>> >>>>>>>>>>> I've added a confirmation dialog which will show the number of >>>>>>>>>> tables and links selected. This way user will know what he has selected >>>>>>>>>> before deleting. >>>>>>>>>> >>>>>>>>>>> *Observations:* >>>>>>>>>>> >>>>>>>>>>> Lodash has been used in this module in place of Underscore, >>>>>>>>>>> though the dependency is already introduced by another module, >>>>>>>>>>> but we have mentioned it in the package.json file, which is >>>>>>>>>>> somewhat not convincing to me. >>>>>>>>>>> Lodash is more advanced than Underscore but we should pick >>>>>>>>>>> anyone as it will be easy to manage. >>>>>>>>>>> >>>>>>>>>>> TL;DR; we cannot. >>>>>>>>>> lodash is a peer dependency for react-diagrams (and some existing >>>>>>>>>> modules in pgAdmin) so it will come to package.json without choice. We >>>>>>>>>> cannot remove underscore because it is a dependency of backbone. Underscore >>>>>>>>>> is outdated, and I cannot migrate the complete pgAdmin code. So, >>>>>>>>>> I decided to go with 100/0 method. All the new codes will use lodash only >>>>>>>>>> as we'll phase out underscore with time. Just like jQuery vs ReactJS. >>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> Table dialog code is duplicate of the table node, as it was >>>>>>>>>>> difficult to extend it because it was attached to the tree. >>>>>>>>>>> So, we need to keep in mind that while implementing React in >>>>>>>>>>> pgAdmin, the nodes should be properly detached from the tree itself, so we >>>>>>>>>>> can reuse it. >>>>>>>>>>> >>>>>>>>>>> Yes. I agree. We need to separate out data source from UI going >>>>>>>>>> forward with React. >>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> Thanks, >>>>>>>>>>> Khushboo >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> On Mon, Dec 28, 2020 at 10:53 AM Khushboo Vashi < >>>>>>>>>>> khushboo.vashi@enterprisedb.com> wrote: >>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> On Fri, Dec 25, 2020 at 4:34 PM Akshay Joshi < >>>>>>>>>>>> akshay.joshi@enterprisedb.com> wrote: >>>>>>>>>>>> >>>>>>>>>>>>> Hi Khushboo, >>>>>>>>>>>>> >>>>>>>>>>>>> Can you please review it? >>>>>>>>>>>>> >>>>>>>>>>>>> On it. >>>>>>>>>>>> >>>>>>>>>>>>> On Fri, Dec 25, 2020 at 3:31 PM Aditya Toshniwal < >>>>>>>>>>>>> aditya.toshniwal@enterprisedb.com> wrote: >>>>>>>>>>>>> >>>>>>>>>>>>>> Hi Hackers, >>>>>>>>>>>>>> >>>>>>>>>>>>>> Attached patch introduces ERD Tool(Beta) to pgAdmin. Below >>>>>>>>>>>>>> are the details: >>>>>>>>>>>>>> 1) Create a diagram from scratch or generate for an existing >>>>>>>>>>>>>> DB. >>>>>>>>>>>>>> 2) Generate "Create" DDL from the diagram. >>>>>>>>>>>>>> 3) Save the diagram and resume it later. >>>>>>>>>>>>>> 4) Supports basic table fields, one-to-many relationships, >>>>>>>>>>>>>> many-to-many relationships, adding notes. >>>>>>>>>>>>>> 5) Test cases added with 75-80% test coverage. >>>>>>>>>>>>>> >>>>>>>>>>>>>> Please review. >>>>>>>>>>>>>> >>>>>>>>>>>>>> -- >>>>>>>>>>>>>> Thanks, >>>>>>>>>>>>>> Aditya Toshniwal >>>>>>>>>>>>>> pgAdmin hacker | Sr. Software Engineer | *edbpostgres.com* >>>>>>>>>>>>>> >>>>>>>>>>>>>> "Don't Complain about Heat, Plant a TREE" >>>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> -- >>>>>>>>>>>>> *Thanks & Regards* >>>>>>>>>>>>> *Akshay Joshi* >>>>>>>>>>>>> *pgAdmin Hacker | Principal Software Architect* >>>>>>>>>>>>> *EDB Postgres * >>>>>>>>>>>>> >>>>>>>>>>>>> *Mobile: +91 976-788-8246* >>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> Thanks, >>>>>>>>>> Aditya Toshniwal >>>>>>>>>> pgAdmin hacker | Sr. Software Engineer | *edbpostgres.com* >>>>>>>>>> >>>>>>>>>> "Don't Complain about Heat, Plant a TREE" >>>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> -- >>>>>>>>> *Thanks & Regards* >>>>>>>>> *Akshay Joshi* >>>>>>>>> *pgAdmin Hacker | Principal Software Architect* >>>>>>>>> *EDB Postgres * >>>>>>>>> >>>>>>>>> *Mobile: +91 976-788-8246* >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> Thanks, >>>>>>>> Aditya Toshniwal >>>>>>>> pgAdmin hacker | Sr. Software Engineer | *edbpostgres.com* >>>>>>>> >>>>>>>> "Don't Complain about Heat, Plant a TREE" >>>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> *Thanks & Regards* >>>>>>> *Akshay Joshi* >>>>>>> *pgAdmin Hacker | Principal Software Architect* >>>>>>> *EDB Postgres * >>>>>>> >>>>>>> *Mobile: +91 976-788-8246* >>>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> Thanks, >>>>>> Aditya Toshniwal >>>>>> pgAdmin hacker | Sr. Software Engineer | *edbpostgres.com* >>>>>> >>>>>> "Don't Complain about Heat, Plant a TREE" >>>>>> >>>>> >>>>> >>>>> -- >>>>> *Thanks & Regards* >>>>> *Akshay Joshi* >>>>> *pgAdmin Hacker | Principal Software Architect* >>>>> *EDB Postgres * >>>>> >>>>> *Mobile: +91 976-788-8246* >>>>> >>>> >>>> >>>> -- >>>> Thanks, >>>> Aditya Toshniwal >>>> pgAdmin hacker | Sr. Software Engineer | *edbpostgres.com* >>>> >>>> "Don't Complain about Heat, Plant a TREE" >>>> >>> >>> >>> -- >>> *Thanks & Regards* >>> *Akshay Joshi* >>> *pgAdmin Hacker | Principal Software Architect* >>> *EDB Postgres * >>> >>> *Mobile: +91 976-788-8246* >>> >> >> >> -- >> Dave Page >> Blog: http://pgsnake.blogspot.com >> Twitter: @pgsnake >> >> EDB: http://www.enterprisedb.com >> >> > > -- > Thanks, > Aditya Toshniwal > pgAdmin hacker | Sr. Software Engineer | *edbpostgres.com* > > "Don't Complain about Heat, Plant a TREE" > -- Dave Page Blog: http://pgsnake.blogspot.com Twitter: @pgsnake EDB: http://www.enterprisedb.com --0000000000003d8f4005b965d75f Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


=
On Thu, Jan 21, 2021 at 4:48 AM Adity= a Toshniwal <aditya= .toshniwal@enterprisedb.com> wrote:
Hi Dave,

On Wed, Jan 20, 2021 at 9:20 = PM Dave Page <dpa= ge@pgadmin.org> wrote:
Hi

Where's the Save I= mage button gone? I know Aditya was removing it whilst working on other thi= ngs, but it's still required for phase 1 release.
It was not working 100% right. :(
So I've removed it f= or the time being. I'm still working on it.=C2=A0
=

OK, so that work will be completed i= n time for the build next week?
=C2=A0

On Mon, Jan 18, 2021 at 11:45 AM = Akshay Joshi <akshay.joshi@enterprisedb.com> wrote:
Thanks, patch applie= d.

On Mon, Jan 18, 2021 at 5:08 PM Aditya Toshniwal <aditya.toshniwal@enterpr= isedb.com> wrote:
O= K, So the changes have worked. But still failing at one more place.
Attached the patch fixes it.

On Mon, Jan 18, 2021 at 4:40 PM Akshay Joshi <akshay.joshi@enterprisedb.com> wrote:
Thanks, patch applied.

Hi,

The ja= smine test cases are working=C2=A0fine on my local machine. The test cases = are successful on jenkins other than on linux, not sure why.
I have made some fixes by looking at t= he log. Please review and try.

On Mon, Jan 18, 2021 at 1:10 PM Akshay = Joshi <akshay.joshi@enterprisedb.com> wrote:
Thanks, patch applied.

On Mon, Jan 18, 2021 at 10:34 AM Aditya Toshniwal <aditya.toshniwal@enterpr= isedb.com> wrote:
H= i Akshay,

I forgot to remove few of the dep= endencies which are not required as of now (may be in future). Attached pat= ch removes those dependencies from package.json.

On Sat, Jan 16, 2021= at 5:08 PM Akshay Joshi <akshay.joshi@enterprisedb.com> wrote:
=
Thanks, = patch applied.

On Fri, Jan 15, 2021 at 7:01 PM Aditya Toshniwal <aditya.tos= hniwal@enterprisedb.com> wrote:
Hi,

I've fixed the issues. You can find the comments inl= ine.
I've also added PropTypes for the components for inc= reased validation.

On Tue, Jan 12, 2021 at 12:18 PM Khushbo= o Vashi <khushboo.vashi@enterprisedb.com> wrote:
Hi Aditya,
T=
he functionalities and the code looks good to me, however some of the comme=
nts as below:
  • Correct the comments at some places (3 occurrences = found in /erd/__init__.py) whi= ch mention Schema diff instead of ERD.
Some c=
omments in the JS/JSX file regarding components/functions (For example, Ico=
nButton (forwardRef), Bodywidget etc.) would
be great help as we all are =
new to React. 
Done. Add= ed comments to the components.
  • Remove the unused imports= (for ex bad_request) in /erd/__init__.py
Removed.=C2=A0
  • Remove commented code
# req_args =3D request.args# if ('recreate' in req_args and
# =C2=A0 =C2=A0 req_args['= ;recreate'] =3D=3D '1'):
# =C2=A0 =C2=A0 connect =3D False
Removed.=C2=A0
=
  • TableNode.jsx, below= two lines can be combined.
import { PortModelAlignment, DefaultNodeModel } from '@projectstorm/= react-diagrams';
import { PortWidget } from '@projectstorm/react= -diagrams';
Done.= =C2=A0
  • onImageClick function in BodyWidget.jsx is no use I thin= k, so it should be removed.
=
I wanted to keep the code as it will be used in future. Anyway, I've r= emoved the code.
    <= li>I got some console errors while adding/= editing tables. Refer to the attached screenshot.
I tried but I didn't get any. Looking at the scr= eenshot, the error is from the underlying library. Can't do much in thi= s.=C2=A0
  • In the column Edit Mode, while deleting the pri= mary key, it gives the error, which does not go away with any further modif= ications.
Fixed.= =C2=A0
  • While generating the SQL, if the server is disconnected,= a proper error message should be thrown, right now some server side error = is coming.
It will show co= nnection lost error now. Fixed.=C2=A0
  • Please remove ..= . from the menu title (New ERD Project(Beta)...) as it is not opening a dia= log.
Done.=C2=A0
  • For large data sets, generate ERD hangs.
It shows the spinner and waits for the response to c= ome from the back end. I've used the existing table fetching code which= is used at other places. I'll create an RM to improve the back end cod= e for fetching the tables data which will help the schema diff tool as well= .
  • Opening the ERD panel in a new window is not working= , it opens in the same tab even if you have set the Preference "Open i= n new browser tab" to True.
Fixed. Added the setting in "Tab settings".
  • No shortcut is provided to open the ERD Tool.
A shortcut is helpful if we are using it frequently.= ERD tool won't be used that frequently.=C2=A0We already have a limi= ted number of keys available for shortcuts. I think we should roll out with= out shortcut for now. If there is a user demand for it then we can think of= adding it.
<= div dir=3D"ltr">
  • SonarQube fixes required.
Fixed.=C2=A0
  • <= /ul>
Suggestion:
While removal of the FK link, If an= y of the table is selected, it is being deleted with FK link.
<= div style=3D"color:rgb(0,0,0)">Either we s= hould warn the user OR make 2 different buttons for FK removal and table re= moval as the user may be confused if the selected table is also removed wit= h the FK.
=
I've added a confirmation= dialog which will show the number of tables and links selected. This way u= ser will know what he has selected before deleting.
=
Observations:
Lodash has been used in this module in place of Underscore, thou= gh the dependency is already introduced by another module,
but we have m= entioned it in the package.json file, which is somewhat not convincing to m= e.
Lodash is more advanced than Underscore but we should pick anyone as = it will be easy to manage.
<= span class=3D"gmail_default" style=3D"font-family:verdana,sans-serif">TL;DR= ; we cannot.
lodash is a peer dependency for react-diagrams (a= nd some existing modules in pgAdmin) so it will come to package.json withou= t choice. We cannot remove underscore because it is a dependency of backbon= e. Underscore is outdated, and I cannot migrate the complete pgAdmin code.= =C2=A0So, I decided to go with 100/0 method. All the new codes will use = lodash only as we'll phase out underscore with time. Just like jQuery v= s ReactJS.


Table dialog code is duplicate of the table node, a= s it was difficult to extend it because it was attached to the tree.
So,= we need to keep in mind that while implementing React in pgAdmin, the node= s should be properly detached from the tree itself, so we can reuse it.
=
Yes. I agree. We need to separate o= ut data source from UI going forward=C2=A0with React.

Thanks,
Khushboo


<= div class=3D"gmail_quote">
On Mon, Dec 28, 2020 at 10:53 AM Khushboo Vashi <= khushb= oo.vashi@enterprisedb.com> wrote:

=
On Fri, Dec 25, 2020 at 4:34 PM Akshay Jo= shi <= akshay.joshi@enterprisedb.com> wrote:
Hi Khushboo,

Can you please review it?

<= div>On it.=C2=A0
On Fri, Dec 25,= 2020 at 3:31 PM Aditya Toshniwal <aditya.toshniwal@enterprisedb.com>= wrote:
<= div dir=3D"ltr">
Hi Hackers,

Attached patch introduces ERD Tool(Beta) to pgAdmin.= Below are the details:
1= ) Create a diagram from scratch or generate for an existing DB.
2) Generate "Create" DDL f= rom the diagram.
3) Save = the diagram and resume it later.
4) Supports basic table fields, one-to-many relationships, many-to-= many relationships, adding notes.
5) Test cases added with 75-80% test coverage.

Please review.

--
Thanks,
Aditya Toshniw= al
=
p= gAdmin hacker=C2=A0| Sr. Software Engineer | <= font color=3D"#000000">edbpostgres.com
"Don= 9;t Complain about Heat, Plant a TREE"
=


--
Thanks & Regards
Akshay Joshi
= pgAdmin Hacker | Principal Software Ar= chitect
EDB Po= stgres
Mobile: +91 976-788-8246

<= /div>


--
Thanks,
Aditya Toshniwal=
pgAdmin hacker=C2=A0| Sr. Software Engineer | edbpostgres.com
&quo= t;Don't Complain about Heat, Plant a TREE"


--
Thank= s & Regards
Akshay Joshi
pgAdmin Hacker | Principal Softw= are Architect
EDB Po= stgres
Mobile: +91 976-788-8246



--
Thanks,
Aditya Toshniwal=
pgAdmin hacker=C2=A0| Sr. Software Engineer | edbpostgres.com
&quo= t;Don't Complain about Heat, Plant a TREE"


--
Thank= s & Regards
Akshay Joshi
pgAdmin Hacker | Principal Softw= are Architect
EDB Po= stgres
Mobile: +91 976-788-8246



--
Thanks,
Aditya Toshniwal=
pgAdmin hacker=C2=A0| Sr. Software Engineer | edbpostgres.com
&quo= t;Don't Complain about Heat, Plant a TREE"


--
Thank= s & Regards
Akshay Joshi
pgAdmin Hacker | Principal Softw= are Architect
EDB Po= stgres
Mobile: +91 976-788-8246



--
Thanks,
Aditya Toshniwal=
pgAdmin hacker=C2=A0| Sr. Software Engineer | edbpostgres.com
&quo= t;Don't Complain about Heat, Plant a TREE"


--
Thank= s & Regards
Akshay Joshi
pgAdmin Hacker | Principal Softw= are Architect
EDB Po= stgres
Mobile: +91 976-788-8246



--


--
Thanks,
Aditya Toshniwal=
pgAdmin hacker=C2=A0| Sr. Software Engineer | edbpostgres.com
&quo= t;Don't Complain about Heat, Plant a TREE"


--
--0000000000003d8f4005b965d75f--