Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

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

Featured Replies

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

Solved by Amane

  • Solution

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

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

  • Author

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...

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..

  • Author
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 😞

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

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

  • Author
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.

  • Author

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. 

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

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

  • Author

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. 

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 ;)

  • Author

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.

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...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.