Jump to content

Paperless-NGX Dokumente verschwunden und neue lassen sich nicht mehr anlegen


bjoern3003
Go to solution Solved by Amane,

Recommended Posts

Posted

Hi, 

 

ich hoffe, ihr könnt mir helfen. 

 

Meine Dokumente in Paperless-NGX sind (ich vermute nach einem Update des Docker Containers) einfach weg. Also die Datenbank scheint noch intakt, da ich in der UI die Dokumente getagged sehe, allerdings ist das Vorschaubild nicht da, ich kann nichts herunterladen und keine der Dokumente einsehen.

 

Versuche ich ein neues Dokument zu importieren, kommt ein riesen langes Log.

 

[2024-04-10 19:26:14,030] [ERROR] [paperless.consumer] The following error occurred while storing document Report_001027.pdf after parsing: UNIQUE constraint failed: documents_document.archive_filename

Traceback (most recent call last):

  File "/usr/local/lib/python3.11/site-packages/django/db/backends/utils.py", line 89, in _execute

    return self.cursor.execute(sql, params)

           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "/usr/local/lib/python3.11/site-packages/django/db/backends/sqlite3/base.py", line 328, in execute

    return super().execute(query, params)

           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

sqlite3.IntegrityError: UNIQUE constraint failed: documents_document.archive_filename

The above exception was the direct cause of the following exception:

Traceback (most recent call last):

  File "/usr/local/lib/python3.11/site-packages/asgiref/sync.py", line 327, in main_wrap

    raise exc_info[1]

  File "/usr/src/paperless/src/documents/consumer.py", line 725, in try_consume_file

    document.save()

  File "/usr/local/lib/python3.11/site-packages/django/db/models/base.py", line 814, in save

    self.save_base(

  File "/usr/local/lib/python3.11/site-packages/django/db/models/base.py", line 877, in save_base

    updated = self._save_table(

              ^^^^^^^^^^^^^^^^^

  File "/usr/local/lib/python3.11/site-packages/django/db/models/base.py", line 990, in _save_table

    updated = self._do_update(

              ^^^^^^^^^^^^^^^^

  File "/usr/local/lib/python3.11/site-packages/django/db/models/base.py", line 1054, in _do_update

    return filtered._update(values) > 0

           ^^^^^^^^^^^^^^^^^^^^^^^^

  File "/usr/local/lib/python3.11/site-packages/django/db/models/query.py", line 1231, in _update

    return query.get_compiler(self.db).execute_sql(CURSOR)

           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "/usr/local/lib/python3.11/site-packages/django/db/models/sql/compiler.py", line 1984, in execute_sql

    cursor = super().execute_sql(result_type)

             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "/usr/local/lib/python3.11/site-packages/django/db/models/sql/compiler.py", line 1562, in execute_sql

    cursor.execute(sql, params)

  File "/usr/local/lib/python3.11/site-packages/django/db/backends/utils.py", line 67, in execute

    return self._execute_with_wrappers(

           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "/usr/local/lib/python3.11/site-packages/django/db/backends/utils.py", line 80, in _execute_with_wrappers

    return executor(sql, params, many, context)

           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "/usr/local/lib/python3.11/site-packages/django/db/backends/utils.py", line 84, in _execute

    with self.db.wrap_database_errors:

  File "/usr/local/lib/python3.11/site-packages/django/db/utils.py", line 91, in __exit__

    raise dj_exc_value.with_traceback(traceback) from exc_value

  File "/usr/local/lib/python3.11/site-packages/django/db/backends/utils.py", line 89, in _execute

    return self.cursor.execute(sql, params)

           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "/usr/local/lib/python3.11/site-packages/django/db/backends/sqlite3/base.py", line 328, in execute

    return super().execute(query, params)

           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

django.db.utils.IntegrityError: UNIQUE constraint failed: documents_document.archive_filename

 

Mein erster Fehler, den ich eben gesehen habe, war, dass ich das media Verzeichnis nicht in ein Verzeichnis auf unraid verlinkt habe, sondern offensichtlich im Docker belassen habe?!

 

Aber selbst als ich den media Pfad eben nach /mnt/user/appdata/paperless-ngx/media verlinkt habe, wurde das pdf zwar dort abgelegt, aber der Error oben kam immer noch.

 

Es wäre ein riesen Desaster für mich, wenn jetzt alle Dokumente weg wäre 😞 Ich hoffe, ihr könnt mir noch helfen.

1712770207.png

  • Solution
Posted (edited)

Hallo bjoern

 

Ich vermute grob das dein media pfad "/usr/src/paperless/media" die Daten nicht speichern konnte, der Datenbank Eintrag dafür jedoch gemacht wurde. Vorher und jetzt, nach dem nachträglichen ändern des Pfades sind die Pfade in der Datenbank falsch hinderlegt.

 

Die ganzen Paperless python-skripte die dann wahrscheinlich auf die Pfade, die falsch sind in der DB laufen, schlagen dann fehl.

 

Ich Empfehle neu installation, mit den richtigen Pfaden und dabei ist zu achten, dass der "data" Ordner gelöscht wird, dort befindet sich bestimmt das sqlite Datenbank file, die die aktuell falschen Pfade beinhalten.

 

Dannach sind aber alle Einstellungen weg. Lief das denn schon lange?

Edited by Amane
Posted (edited)
1 hour ago, bjoern3003 said:

Es wäre ein riesen Desaster für mich, wenn jetzt alle Dokumente weg wäre 😞 Ich hoffe, ihr könnt mir noch helfen.

Sorry hab das etwas spät entdeckt..

 

Desswegen:

Also ich bin mir nicht sicher ob die Files schon weg sind, kannst du mittels Konsole im Container nachschauen gehen?

 

Die orangen Pfade (Container Path) oben im Bild, sollten abgesucht werden.. falls die dort noch liegen, kann man diese retten.

grafik.png.4f91ce7a7f9cc6d8b7f1a10cce35da7d.png

 

Edited by Amane
Posted

ne, die Daten sind weg - vermutlich weil ich dann eben vorschnell den Pfad auf mein mnt/usr/ Verzeichnis gesetzt habe. Damit zeigt das media Verzeichnis ja auf einen Unraid Ordner. Verdammte Kacke...

Posted

Ich bin immer noch unschlüssig, ob die Daten wirklich weg sind, da es bis vor dem Update ja noch funktioniert hatte..
Das war doch bestimmt nicht dein erster restart de Containers?

 

Dann müssten sie noch an einem Ort liegen, wo der Pfad vorhin gezeigt hatte..

Posted
3 minutes ago, Amane said:

Das war doch bestimmt nicht dein erster restart de Containers?

Nein, das war es nicht. 

 

Ich habe die Docker container als Verzeichnis (nicht als docker.img) in user/system/docker/installed liegen und alles nach *.pdf durchsucht.

 

Alle möglichen pdf gefunden, aber leider keine der, die ich mit paperless-ngx importiert habe 😞

Posted (edited)

Schade, hab gerade gesucht ob paperless das Dateiformat ändert und sie desshalb nicht auffindbar sind.. einfach so als Hoffnungsschimmer.. aber wenn das die Antwort ist.. Tut es mir leid für dich.

Edited by Amane
Posted
24 minutes ago, alturismo said:

die waren im RAM ... da es den Pfad nicht gibt ... sprich, einmal neu bitte

Super - neu natürlich nicht mehr möglich, da die Dokumente logischerweise zum Teil gar nicht mehr existieren. Eigene Dummheit. 

 

Aber wie kommt denn dann trotzdem beim Importieren der oben genannte Fehler Zustande? Ich würde trotzdem gerne die Datenbank behalten, da zumidnest der Index mit der OCR Erkennung vorhanden ist und im Zweifel die Dokumente immerhin als Text da sind.

Posted

Okay, das Problem konnte ich lösen, indem ich in der sqlite DB die Inhalte von filename um _old ergänzt habe. Da liegt ein unique index drauf und er zählt wohl neu hoch, wenn die Dateien nicht gefunden werden. 

Posted (edited)

GPT:
Die Fehlermeldung, die Sie erhalten, deutet darauf hin, dass Paperless-ngx versucht, ein Dokument zu speichern, dessen archive_filename bereits in der Datenbank vorhanden ist. In einer Datenbank ist eine UNIQUE-Beschränkung (Eindeutigkeitsbeschränkung) eine Regel, die sicherstellt, dass alle Werte in einer Spalte (oder einer Kombination von Spalten) einzigartig sind. Wenn also versucht wird, einen Wert einzufügen oder zu aktualisieren, der bereits vorhanden ist, wird ein Fehler ausgelöst.

In Ihrem Fall versucht Paperless-ngx, den Eintrag Report_001027.pdf in die Datenbank einzufügen, aber es gibt bereits einen Eintrag mit demselben archive_filename, was zu diesem Konflikt führt.

Edited by Amane
Posted

Wie kann man den ein für sich neues System aufsetzen und bevor man das auf Herz und Nieren testet, haut man die Dokumente durch den Schredder?! *kopfschüttel*

 

Und selbst wenn es jetzt hinbekommst: BACKUP! zwei oder am Besten dreifach

Posted

Das Leute immer hinterher drauf hauen... 😄 Denkst, du , dass ist mir hinterher nicht auch selber klar?

 

Ich habe doch bereits oben mir selber die Schuld gegeben. Frage mich immer, ob die Kommentare dieser Leute nur zum Beiträge sammeln dienen oder was damit erreicht werden soll. Bekanntlich lernt der Mensch aus Fehlern. Das habe ich - meine Hoffnung war nur, dass die Dokumente vielleicht noch irgendwo liegen. 

Posted

Hallo @bjoern3003,

 

ich fühle mit dir, mir ist es genau so ergangen. Ich war bei der Installation einfach unachtsam. 250 Dokumente weg 😒

 

Ich hab es für mich unter "lessons-learned" abgespeichert und nochmal neu angefangen, hilft nix ;)

Posted

Korrekt... Gestern kurz "gekotzt" aber das Leben geht weiter. Rückgängig machen kann ich es jetzt nicht mehr - nur draus lernen und so bin ich nun an einer besseren Backupstrategie dran und achte genauer drauf, dass die Pfade korrekt gesetzt sind. Ebenso werde ich nun nach ersten Tests immer mal mindestens 1x den Host komplett neu starten, um zu sehen, ob danach noch alles da ist.

  • Like 1
Posted
19 minutes ago, bjoern3003 said:

Ebenso werde ich nun nach ersten Tests immer mal mindestens 1x den Host komplett neu starten, um zu sehen, ob danach noch alles da ist.

das braucht es nicht wirklich, schau einfach ob auf den Pfaden wo du angibst auch etwas passiert ist ... ;)

 

in dem Fall hattest du ja nie externen Zugriff auf die Dokumente ... wenn du die persistent hast, dann siehst du diese ja auch "extern"

 

Beispiel ...

image.thumb.png.0fef911535973784ecbf9545e2395ca7.png

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...