On Sun, Apr 30, 2006 at 12:05:33PM +0200, Karsten Hilbert wrote: > I have written a partial update-v2-v3.sql script and let me > tell you it *can* get quite complex. Simple alter statements > won't suffice since we do have to deal with data already in > the tables. For the record, our update-db concept is as follows such that it is entirely non-destructive:
Suppose update from v2 to v3. - clients are disconnected - database "gnumed_v3" is created with template "gnumed_v2" - now we have an exact copy of gnumed_v2 in gnumed_v3, warts and all - the update ddl (alter etc) is run against "gnumed_v3" - if all goes well the gnumed_v3 now really actually contains a v3 schema - clients connect to "gnumed_v3" If anything breaks in updating the database clients connect to "gnumed_v2" again and the whole procedure is back to square one. If anyone can come up with a more secure procedure I'd like to hear about it. Note that this isn't just a plan. It's working reality (apart from the fact that due to lacking demand - no v1 users out there to my knowledge - we don't actually have a complete update-ddl-v1-v2.sql script - but we could if demand is there). Karsten -- GPG key ID E4071346 @ wwwkeys.pgp.net E167 67FD A291 2BEA 73BD 4537 78B9 A9F9 E407 1346 _______________________________________________ Gnumed-devel mailing list [email protected] http://lists.gnu.org/mailman/listinfo/gnumed-devel
