Re: CLI for Schema Diff

From: Dave Page <dpage(at)pgadmin(dot)org>
To: Steve Chavez <steve(at)supabase(dot)io>
Cc: pgadmin-hackers <pgadmin-hackers(at)postgresql(dot)org>
Subject: Re: CLI for Schema Diff
Date: 2021-03-31 08:08:36
Message-ID: CA+OCxoyjZhV9stFMAQ-QhHuA0+dLQD5XD_YT+Qo2vY0GhkBKFw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgadmin-hackers

Hi

On Tue, Mar 30, 2021 at 3:36 PM Steve Chavez <steve(at)supabase(dot)io> wrote:

> Hey all,
>
> In case anyone is interested, I've managed to enable a CLI mode for the
> Schema Diff on this repo:
>
> https://github.com/steve-chavez/pgadmin4/blob/cli/web/cli.py
>
> It basically works by using a Flask test client that interacts with the
> Schema Diff endpoints.
> It's a single isolated file, I haven't patched any of the existing modules.
>
> For a quickstart, there's also a docker image that can be used like:
>
> docker run supabase/pgadmin-schema-diff \
> 'postgres://postgres(at)host/diff_source' \
> 'postgres://postgres(at)host/diff_target' \
> > diff.sql
> ## the stderr output shows the same messages as the Schema Diff GUI:
>
> Starting schema diff...
> Comparision started......0%
> Comparing FTS Dictionaries ...35%
> Comparing Functions ...50%
> Comparing Trigger Functions ...60%
> Comparing Sequences ...70%
> Comparing Tables ...80%
> Comparing Views ...90%
> Done.
>
>
That's an interesting approach! Obviously the code is just a proof of
concept at the moment (redirecting stdout is masking errors for example),
but is this something you'd be interested in working on to become a more
fully featured and production quality CLI?

--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

EDB: http://www.enterprisedb.com

In response to

Responses

Browse pgadmin-hackers by date

  From Date Subject
Next Message Pradip Parkale 2021-03-31 14:08:43 [pgAdmin][RM5519]: Unable to close tab after disconnecting server.
Previous Message Akshay Joshi 2021-03-31 06:38:08 pgAdmin 4 commit: Fixed cannot unpack non-iterable response object erro