| From: | Thomas Kellerer <spam_eater(at)gmx(dot)net> |
|---|---|
| To: | pgsql-general(at)postgresql(dot)org |
| Subject: | Re: recommended schema diff tools? |
| Date: | 2012-04-12 16:02:01 |
| Message-ID: | jm6u9n$qvt$1@dough.gmane.org |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-general |
Chris Angelico wrote on 12.04.2012 17:10:
> patchlevel = query("select patchlevel from config")
> switch (patchlevel)
> {
> default: print("Unknown patch level!"); break;
> case 1:
> print("20120216: Adding Foobar columns to Quux")
> query("ALTER TABLE Quux ADD foo smallint not null default 0, ADD
> bar varchar")
> case 2:
> ... etc ...
> case 42:
> ...
> // Add new patch levels here
> query("update config set patchlevel=43"); query("commit");
> case 43: break;
> }
>
>
> Every change is thus assigned a number. The current patch level is a
> safe no-op; any unrecognized number is a major error. The script is
> thus safe to run on any database, and will always bring that database
> up to the script's current patch level.
Sounds like you implement something very similar to Liquibase.
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Thomas Kellerer | 2012-04-12 16:05:33 | Re: recommended schema diff tools? |
| Previous Message | Chris Angelico | 2012-04-12 15:39:35 | Re: recommended schema diff tools? |