Development cycle using GOODS for persistence

Cees de Groot cg at cdegroot.com
Tue Oct 19 10:13:59 UTC 2004


On Mon, 18 Oct 2004 20:44:40 -0700 (PDT), Chris Muller  
<afunkyobject at yahoo.com> wrote:

> But while working on Magma 1.0gamma8, the primary improvement of which  
> is live
> class-evolution, I decided to get rid of the upgradeBlocks entirely.

Ditto with OmniBase. We provide for compatibility often by adding some  
code in the getter ('if value is something old then convert on-the-fly'),  
in 'heavy' cases we provide code in the deserializer and often we even  
convert the whole db between versions by keeping track of what needs to be  
done and then simply reading/writing all affected objects.

Bottom line is that 'nil' is the correct general-purpose answer that the  
DB should provide you, and what you want to do beyond that is all  
implementable in straight Smalltalk.



More information about the Squeak-dev mailing list