Sync some database tables, but not others ... WAS Re: How to modify ENUM datatypes? - Mailing list pgsql-general

From D. Dante Lorenso
Subject Sync some database tables, but not others ... WAS Re: How to modify ENUM datatypes?
Date
Msg-id 48121097.6040302@lorenso.com
Whole thread Raw
In response to Re: How to modify ENUM datatypes?  (Tino Wildenhain <tino@wildenhain.de>)
List pgsql-general
Tino Wildenhain wrote:
> D. Dante Lorenso wrote:
>> Alvaro Herrera wrote:
>>> D. Dante Lorenso wrote:
>>>> Or, here's another way to look at it ... make it easier to modify
>>>> ENUM  datatypes because we all know that you will eventually need
>>>> that feature  whether you males, females, and unknowns think so or not.
>>> Agreed.  Let's keep in mind that the current ENUM implementation is
>>> completely new.
>>
>> Here's a use case that I doubt too many are aware of ... what's unique
>> about ENUM is that the data for the ENUM becomes part of the schema of
>> a database.
>>
>> This is actually something I like very much.  I have systems where the
>> DEV and PROD databases are separate and must be synchronized when
>> pushing out new features.  I currently use non-free tools to
>> synchronize just the schemas for both databases.
>>
>> Often if a new row is added to a lookup table, that row doesn't make
>> it to the QA or PROD databases because it's part of the data of a
>> table and is not part of the schema.  For data (like ENUM data) that
>> should be consistent across databases, it helps if it gets deployed
>> with the schema so that lookups will succeed properly.
>
> Well since its configuration and not payload its nothing wrong with just
> having the data in your repository as well and load it every time when
> you roll out a new release.

I have a convenient 3rd party tool that will "sync this database schema
with that database schema".  I just run the tool, accept the discovered
changes and voila, I've deployed the database changes to the next
environment.

I haven't written any custom scripts to import content into specific
tables.  As I see it, that would be a little complex also since you'd
have to find the difference between dev and prod and only push the
changes across (additions or deletes).  For potentially hundreds of
small ENUM-like lookup tables, this seems quite tedious ... like the
kind of thing a DB sync tool should handle for you ;-)

Perhaps there is a 3rd party tool that would not only sync the DB
schema, but could add a list of tables which must also have their data
synced?  Something that could remember that these 50 tables are
"constant/deployable" and must be mirrored as-is to the other database
while these other tables store environment-specific data and should not
be synced.  Anyone know of such a tool?

-- Dante


>
> Cheers
> Tino
>


pgsql-general by date:

Previous
From: Colin Wetherbee
Date:
Subject: Re: query question really cant give a summary here so read the body ;-)
Next
From: "Rhys Stewart"
Date:
Subject: Re: query question really cant give a summary here so read the body ;-)