Plone 6 Data Migration

Am migrating Plone 5 content 'Data.fs' and 'blobstorage' to latest Plone 6 docker instance running default RelStorage on postgres.

  1. Copy the source data to /data/source
  2. Create a custom conf
  3. Running 'bin/zodbconvert --clear etc/relstorage-import.conf' from plone-backend container.
<filestorage source>
path /data/source/Data.fs
blob-dir /data/source/blobstorage
</filestorage>
<relstorage destination>
      <postgresql>
            dsn $(RELSTORAGE_DSN)
       </postgresql>
 </relstorage>

Wonder how to resolve the following error: Thanks.

Traceback (most recent call last):
  File "/app/bin/zodbconvert", line 8, in <module>
    sys.exit(main())
  File "/app/lib/python3.9/site-packages/relstorage/zodbconvert.py", line 221, in main
    destination.copyTransactionsFrom(source)
  File "/app/lib/python3.9/site-packages/relstorage/storage/__init__.py", line 903, in copyTransactionsFrom
    Copy(self.blobhelper, self, self).copyTransactionsFrom(other)
  File "/app/lib/python3.9/site-packages/relstorage/storage/copy.py", line 89, in copyTransactionsFrom
    copier.copy(progress)
  File "/app/lib/python3.9/site-packages/relstorage/storage/copy.py", line 252, in copy
    num_txn_records, txn_data_size, num_blobs = self(trans)
  File "/app/lib/python3.9/site-packages/relstorage/storage/copy.py", line 265, in __call__
    record_size, _was_blob = self.restore_one(
  File "/app/lib/python3.9/site-packages/relstorage/storage/copy.py", line 186, in restore_one
    dir=self.blobhelper.temporaryDirectory()
  File "/app/lib/python3.9/site-packages/relstorage/blobhelper/__init__.py", line 69, in temporaryDirectory
    raise Unsupported("No blob directory is configured.")
ZODB.POSException.Unsupported: No blob directory is configured.

You have to configure a blobstorage dir, even if you store the blobs in postgres.
The directory in that case is the cache directory of your instance.


<relstorage destination>
        # ZODB Cache Dir
        blob-dir ./var/blobstorage
        # db connect
        <postgresql>
        dsn 
        </postgresql>
</relstorage>

1 Like

Thank you @agitator