Plone升级3.3.5到Plone 4.1.2

时间:2011-12-05 15:46:22

标签: upgrade plone zodb

我正在尝试将Plone站点从3.3.5升级到Plone 4.1.2。我安装了4.1.2的干净副本,并尝试将Data.fs复制到4.1.2。我不得不删除我的成员文件夹,因为它是不再支持的LargePloneFolder类型。在32位虚拟机上,这很好用。但是,我在64位虚拟机上遇到了错误。从Plone 3.3.5(同一台机器)复制Data.fs或从32位机器上的Plone 4.1.2复制Data.fs导致相同的错误。

堆栈追踪:

Iz@bigBox# bin/zeoserver fg

/usr/local/Plone/zeocluster/parts/zeoserver/bin/runzeo
Traceback (most recent call last):

  File "/usr/local/Plone/buildout-cache/eggs/ZODB3-3.10.3-py2.6-linux-x86_64.egg/ZEO/runzeo.py", line 405, in <module>
    main()

  File "/usr/local/Plone/buildout-cache/eggs/ZODB3-3.10.3-py2.6-linux-x86_64.egg/ZEO/runzeo.py", line 402, in main
    s.main()

  File "/usr/local/Plone/buildout-cache/eggs/ZODB3-3.10.3-py2.6-linux-x86_64.egg/ZEO/runzeo.py", line 158, in main
    self.open_storages()

  File "/usr/local/Plone/buildout-cache/eggs/ZODB3-3.10.3-py2.6-linux-x86_64.egg/ZEO/runzeo.py", line 207, in open_storages
    self.storages[opener.name] = opener.open()

  File "/usr/local/Plone/buildout-cache/eggs/ZODB3-3.10.3-py2.6-linux-x86_64.egg/ZODB/config.py", line 177, in open
    return FileStorage(config.path, **options)

  File "/usr/local/Plone/buildout-cache/eggs/ZODB3-3.10.3-py2.6-linux-x86_64.egg/ZODB/FileStorage/FileStorage.py", line 185, in __init__
    read_only=read_only,

  File "/usr/local/Plone/buildout-cache/eggs/ZODB3-3.10.3-py2.6-linux-x86_64.egg/ZODB/FileStorage/FileStorage.py", line 1554, in read_index
    h = fmt._read_data_header(pos)

  File "/usr/local/Plone/buildout-cache/eggs/ZODB3-3.10.3-py2.6-linux-x86_64.egg/ZODB/FileStorage/format.py", line 150, in _read_data_header
    h = DataHeaderFromString(s)

  File "/usr/local/Plone/buildout-cache/eggs/ZODB3-3.10.3-py2.6-linux-x86_64.egg/ZODB/FileStorage/format.py", line 236, in DataHeaderFromString
    return DataHeader(*struct.unpack(DATA_HDR, s))

  File "/usr/local/Plone/buildout-cache/eggs/ZODB3-3.10.3-py2.6-linux-x86_64.egg/ZODB/FileStorage/format.py", line 246, in __init__

    "Non-zero version length. Versions aren't supported.")
ValueError: Non-zero version length. Versions aren't supported.

Python版本:2.6附带Plone 4.1.2统一安装程序

我也尝试打包数据库。在Plone 3.3.5上使用fsrecover.py并使用图形界面。但这也无济于事。这很奇怪,因为我的32位安装完全没有错误,Data.fs的迁移工作正常。

我使用cp命令复制db,并使用-p选项保留所有权限,该选项在32位VM上正常工作。

1 个答案:

答案 0 :(得分:4)

在尝试迁移之前,打包数据库和/或尝试删除正在运行的Plone 3.3.x安装中的Zope2 / Control_Panel中的任何旧“ZODB版本”。或者尝试对整个Plone站点进行ZEXP导出,并在尝试执行4.x迁移之前将其导入到干净的3.3.5安装中。 ZODB的较新版本不支持“版本”(长期运行的事务),并且至少已经弃用了几年。

看到这个帖子: https://mail.zope.org/pipermail/zodb-dev/2010-September/013620.html