On Monday, December 27, 2004, at 10:37:25 AM, aacockburn wrote:
> Can you say something about C3 and migrating the object database
> across model refactorings ... didn't you have to upgrade / convert an
> old version object to its latest form every couple of weeks or so?
> How did you do that, if not with 'becomes:' (which is how I'd always
> assumed you'd done it).
The development system didn't care: all our tests ran against
external sources, or created their own instances, or the like. Since
there was no persistence in the dev system, migration was not an
issue.
The real system ran in GemStone. So we dev'd in VW, ran in GemStone.
The GemStone data did have to migrate. GemStone/ST handles migration
very nicely but even so it was sometimes difficult to get it to
work. Internally, GS does it with become: or an equivalent. But GS
didn't convert the whole database: you have the ability to leave old
objects, and their old methods, commingled with the new objects and
their new methods. Objects would convert sort of willy-nilly,
depending on need. It was very neat and very scary.
I recall that we had some times when our tests wouldn't run on
GemStone and we'd have to fiddle the migration, but I don't remember
the details. Were I to do it over again, I'd seriously consider
doing it without GemStone, but "at the time it seemed to be the
logical thing to do."
We never got as good at it as Mr Beck reported about LifeWare (was
that who it was) who migrated their entire database every day.
Ron Jeffries
www.XProgramming.com
Any errors you find in this are the work of Secret Villains,
whose mad schemes will soon be revealed. -- Wil McCarthy
To Post a message, send it to: [EMAIL PROTECTED]
To Unsubscribe, send a blank message to: [EMAIL PROTECTED]
ad-free courtesy of objectmentor.com
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/extremeprogramming/
<*> To unsubscribe from this group, send an email to:
[EMAIL PROTECTED]
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/