public inbox for [email protected]  
help / color / mirror / Atom feed
From: Dave Page <[email protected]>
To: Steve Chavez <[email protected]>
Cc: pgadmin-hackers <[email protected]>
Subject: Re: CLI for Schema Diff
Date: Wed, 31 Mar 2021 08:08:36 +0000
Message-ID: <CA+OCxoyjZhV9stFMAQ-QhHuA0+dLQD5XD_YT+Qo2vY0GhkBKFw@mail.gmail.com> (raw)
In-Reply-To: <CAGRrpzYy=6=Hms6hhJ2co6cJbzt9_1zaOAi5xgZJCfFBDL9jOg@mail.gmail.com>
References: <CAGRrpzZp0XcKQjMyXpmxBnofapOqVhU4-6FzPGfXSw=-64HAvQ@mail.gmail.com>
	<CAGRrpzYy=6=Hms6hhJ2co6cJbzt9_1zaOAi5xgZJCfFBDL9jOg@mail.gmail.com>

Hi

On Tue, Mar 30, 2021 at 3:36 PM Steve Chavez <[email protected]> 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@host/diff_source' \
>   'postgres://postgres@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


view thread (7+ messages)  latest in thread

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: [email protected]
  Cc: [email protected], [email protected]
  Subject: Re: CLI for Schema Diff
  In-Reply-To: <CA+OCxoyjZhV9stFMAQ-QhHuA0+dLQD5XD_YT+Qo2vY0GhkBKFw@mail.gmail.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox