[Zope-dev] Product upgrades

Chris McDonough chrism@zope.com
Tue, 22 Jan 2002 18:14:49 -0500


You either need to account for older-state objects in your code or you need
to manually upgrade instances of your objects.  There's no standard way to
do the latter.

----- Original Message -----
From: "brian.r.brinegar.1" <brinegar@purdue.edu>
To: <zope-dev@zope.org>
Sent: Tuesday, January 22, 2002 5:37 PM
Subject: [Zope-dev] Product upgrades


> I have done work on a couple of products and one thing I've noticed is if
> you change what is done in the __init__ method of an object there isn't a
> good way to make the change so that it takes effect on old instances of
> the object. For example:
>
> def init(self):
> self.data.append('cow')
>
> becomes:
>
> def init(self):
> self.data.append('cow')
> self.data.append('horse')
>
> things created with the first constructor must be removed and recreated if
> 'horse' is to be added. Is there a way to go through and update old
> instances of a product to a newer version? Or should backwards
> compatibility be designed into the product?
>
> Thanks,
> --Brian
>
>
>
> _______________________________________________
> Zope-Dev maillist  -  Zope-Dev@zope.org
> http://lists.zope.org/mailman/listinfo/zope-dev
> **  No cross posts or HTML encoding!  **
> (Related lists -
>  http://lists.zope.org/mailman/listinfo/zope-announce
>  http://lists.zope.org/mailman/listinfo/zope )
>