Re: Changing and migrating persistence structure

Martin Aspeli <[email protected]>
Newsgroups gmane.comp.web.zope.devel
Message-ID <[email protected]>
On 8 August 2010 20:29, Hanno Schlichting <[email protected]> wrote:

> There should be some way of doing this with custom __getstate__ and
> __setstate__ methods.
>
> It's just tricky to get right and a bit fragile. It's much easier to
> write the migration code if both the old and new class are separate
> and functioning at the same time.

The main problem is that the advertised API says you should do:

from plone.registry import Record
from plone.registry import field

registry['foo.bar'] = Record(field.TextLine(), u"my value")

Here, field.TextLine derives from PersistentField which derives from
Persistent, and Record derives from Persistent also.

If I wanted to get rid of the Persistent base, I'd have to make a new
"tree" of field types (the standard zope.schema ones still need some
subclassing), and a new Record class with a less obvious name.

Martin
_______________________________________________
Zope-Dev maillist  -  [email protected]
https://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 https://mail.zope.org/mailman/listinfo/zope-announce
 https://mail.zope.org/mailman/listinfo/zope )
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.