3

我正在尝试将 Plone 站点从 3.3.5 升级到 Plone 4.1.2。我安装了 4.1.2 的干净副本并尝试将 Data.fs 复制到 4.1.2。我不得不删除我的成员文件夹,因为它是不再支持的 LargePloneFolder 类型。在 32 位虚拟机上,这工作得很好。但是,我在 64 位虚拟机上遇到了错误。在 32 位机器上从 Plone 3.3.5(同一台机器)复制 Data.fs 或从 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 命令复制数据库,使用 -p 选项保留所有权限,该选项在 32 位 VM 上运行良好。

4

1 回答 1

4

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

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

于 2011-12-05T21:50:22.080 回答