[Setup] Re: Migration problem: 'Import Error: No module named Validators'
André Knörig
ak at ak-rocks.de
Mon Dec 19 15:10:36 UTC 2005
Thanks for the hint. Whew.. I got PloneShell running and it's fun indeed. I
don't have any experience in using such a nice tool, but I managed to find out
what's causing the trouble:
Several instances of my derived ATContentTypes objects in the root throw the
error when a function on them is called. A call of __dict__ reveals that they
dont't contain anything. It just returns {}.
Now, this only happened with some instances. Others, of the same type, are
completely fine, both in the root and deeper in the site. It seems that the ones
that are broken are the older ones.
So, this means that they got mangled as soon as I opened the Data.fs with the
new Products installed, right?
So I deleted these objects on the old setup and then tried to run it with the
new setup again. Worked! No more Import Errors!! The migration worked, too. But
now, of course, there are a lot of other problems to address, because my Plone
is somewhat heavily customized ;)
Thanks a lot for your help!
andré>
alan at enfoldsystems.com wrote:
> so i diagnosed an error like this recently with regards to exif in ATPhoto
> or ATImage or whatever. Its rather difficult - if not impossible to debug
> this w/o zopectl. I would download the PloneShell from enfoldsystems.com
> website.
>
> I would read over the 'conversing with zope' article. basically what you
> can do is use post-mortem debugging. zope will throw exception; you get a
> python debugger:
>
> - then you step up the call stack finding where you actually ahve your
> 'broken' object orthe object that is causign the problem.
>
> - poke the object and see what has a reference to Validators
>
> I would *imagine* your problem is something like you have a persistent
> Validator in your databse; and validators shouldnt be persistent. It
> would be nice to have objects in ZOpe that not possible to persist ;-)
> like
>
> class Validator:
> _p_never_persist = True
>
> this would tell the zodb that its impossible to persist a instance of this
> type. and would throw a runtime error in zodb. but this isnt the zodb
> list ;-)
>
> I would imagine its something in your own code base if you have written
> anotehr product.
>
> alan
More information about the Setup
mailing list