Import auf paperless-ngx.2.X ff postgresql von paperless-ngxV1.92 sqllite schlägt fehl

Ich habe auf meiner Synologa per DockerContainer eine paperless-ngx Version 1.9.2 und sqllite am Start und möchte aus dem Export nach paperless-ngx Version 2.8.X mit postgresql Datenbank migrieren.
Irgendwie bekomme ich dies nicht auf die Reihe Fehler wie folgt…
Nach EIngabe auf dem WebServer von:
./manage.py document_importer /usr/src/paperless/export
oder
python3 manage.py document_importer /usr/src/paperless/export

Version mismatch: Currently 2.14.7, importing 1.9.2. Continuing, but import may fail.
Checking the manifest
Database import failed
Version mismatch: Currently 2.14.7, importing 1.9.2
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/site-packages/django/apps/config.py", line 235, in get_model
    return self.models[model_name.lower()]
           ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^
KeyError: 'comment'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.12/site-packages/django/core/serializers/python.py", line 191, in _get_model
    return apps.get_model(model_identifier)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/django/apps/registry.py", line 213, in get_model
    return app_config.get_model(model_name, require_ready=require_ready)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/django/apps/config.py", line 237, in get_model
    raise LookupError(
LookupError: App 'documents' doesn't have a 'comment' model.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/src/paperless/src/./manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/usr/local/lib/python3.12/site-packages/django/core/management/__init__.py", line 442, in execute_from_command_line
    utility.execute()
  File "/usr/local/lib/python3.12/site-packages/django/core/management/__init__.py", line 436, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/usr/local/lib/python3.12/site-packages/django/core/management/base.py", line 413, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/usr/local/lib/python3.12/site-packages/django/core/management/base.py", line 459, in execute
    output = self.handle(*args, **options)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/paperless/src/documents/management/commands/document_importer.py", line 280, in handle
    self.load_data_to_database()
  File "/usr/src/paperless/src/documents/management/commands/document_importer.py", line 218, in load_data_to_database
    raise e
  File "/usr/src/paperless/src/documents/management/commands/document_importer.py", line 204, in load_data_to_database
    call_command("loaddata", manifest_path)
  File "/usr/local/lib/python3.12/site-packages/django/core/management/__init__.py", line 194, in call_command
    return command.execute(*args, **defaults)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/django/core/management/base.py", line 459, in execute
    output = self.handle(*args, **options)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/django/core/management/commands/loaddata.py", line 103, in handle
    self.loaddata(fixture_labels)
  File "/usr/local/lib/python3.12/site-packages/django/core/management/commands/loaddata.py", line 164, in loaddata
    self.load_label(fixture_label)
  File "/usr/local/lib/python3.12/site-packages/django/core/management/commands/loaddata.py", line 252, in load_label
    for obj in objects:
               ^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/django/core/serializers/json.py", line 70, in Deserializer
    yield from PythonDeserializer(objects, **options)
  File "/usr/local/lib/python3.12/site-packages/django/core/serializers/python.py", line 114, in Deserializer
    Model = _get_model(d["model"])
            ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/django/core/serializers/python.py", line 193, in _get_model
    raise base.DeserializationError(
django.core.serializers.base.DeserializationError: Problem installing fixture '/usr/src/paperless/export/manifest.json': Invalid model identifier: 'documents.comment'

Gibt es Vorschläge?

Hier steht im Grunde schon, warum es schiefgehen könnte. Die beiden Versionen passen nicht zusammen.

Ich empfehle, beide Installationen auf die neueste Version zu updaten und es dann nochmal zu versuchen.

Ausgaben im Terminal am besten in Code-Blöcke setzen, das erhöht die Lesbarkeit deutlich :wink:

Beispiel:

Version mismatch: Currently 2.14.7, importing 1.9.2. Continuing, but import may fail.
Checking the manifest
Database import failed
Version mismatch: Currently 2.14.7, importing 1.9.2
Traceback (most recent call last):
File „/usr/local/lib/python3.12/site-packages/django/apps/config.py“, line 235, in get_model
return self.models[model_name.lower()]

Danke für den Hinweis mit den Code Block setzen…

Lösung
Nachdem ich lange auf diversen Internetseiten nach Lösungen gesucht habe und keine weiteren Lösungen gefunden habe, bin ich auf folgender Seite
https://www.reddit.com/r/Paperlessngx/comments/1hwj6d0/help_migrating_from_very_old_paperless_sqlite_to/?tl=de
Zum Denkanstoß gekommen und nun auch zur Lösung.
Ganz kurz skizziert zur Lösung:

  • Anlage eines neuen Stack mit der Paperless Version 1.9.2. mit sqllite analog meines Echtsystems erstellt.
  • mein Paperless1.9.2 System mit sqllite einen Export gefahren
  • Den neuen Stack mit Paperless1.9.2 hochgefahren und den Inhalt des Export Ordner vom Echtsystem auf das neue System in den Ordner Export kopiert
  • Dann auf den neuen System den Import aus /export gefahren
  • Dann diesen Teststack heruntergefahren und im Stack dann die paperless-nix-Version von 1.9.2 geändert auf 2.8.6 und Stack gestartet.
  • Beim Start aktualisiert er alle Dateien insbesondere die Manifest.json usw.
  • Dann auf den Teststack mal auf den Webserver angemeldet und Dokumente und neue Version waren da.
  • Nun Procedere Wechsel sqllite zu Postgrss…
  • Teststack nun exportiert
  • weiteren neuen Teststack mit postgres16 und Paperlessngx Version 2.8.6 angelegt und den Import vom Teststack aus sqllite eingespielt - vielleicht ein Hinweis, benen den Ordner /export habe ich diesmal auch den Ordner „Media“ mit kopiert.
  • Danach ist nun alles schick … durch Aufschalten auf den postgress-db konnte ich anhand Psalm Befehle prüfen ob auch Dokumente in der postgresql Datenbank vorhanden sind - waren alle da und mit einen DUMP ALL gleich noch eine postgresql SIcherung gefahren.
  • Nun werde ich morgen diesen Stack noch auf die fast neue Paperlessngx Version hoffentlich ohne Probleme aktualisieren können.