Database Backup & Restore

Exportiert und wiederherzustellen ausgewählter Payload CMS MongoDB Collections als JSON direkt aus dem Admin-Panel.

Community 3 74/Wo. MIT v0.1.2

Installation

pnpm add @yairl/payload-db-backup-restore

Über

Das Plugin erweitert Payload 3 um eine Backup- und Restore-Ansicht unter /admin/backup. Über eine Checkliste lassen sich die gewünschten Collections auswählen und als einzelne JSON-Datei herunterladen. Der Restore liest die Datei ein und fügt die Dokumente wieder ein. Standardmäßig ist ein Sidebar-Eintrag aktiv. Die Datei verwendet EJSON (bson), sodass MongoDB-Typen wie ObjectId, Date und Decimal128 exakt round-tripen, statt in Strings zu zerfallen. Bei Collections mit drafts-Verwaltung wird die zugehörige _<slug>_Versions-Sidecar automatisch mit exportiert und wiederhergestellt. Der Restore nutzt Mongoose insertMany direkt, nicht payload.create. Das ist bewusst so: Payload-Hooks wie beforeChange und afterChange werden nicht ausgelöst, was bei Bulk-Wiederherstellungen unerwünschte Nebeneffekte wie Revalidierungen oder Titel-Generierung verhindert. Die _id jedes Dokuments bleibt erhalten. Die Option "Drop before restore" ist standardmäßig aktiv und leert die Ziel-Collection vor dem Insert. Schaltet man sie ab, läuft insertMany mit ordered: false, sodass duplikate _ids individuell fehlschlagen, während der Rest erfolgreich ist. Zugriff und Endpunkte werden über ein Access-Predicate geregelt, das standardmäßig req.user.roles auf den Wert 'admin' prüft. Drei REST-Endpunkte (GET /api/db-backup/collections, POST /api/db-backup/export, POST /api/db-backup/import) stehen hinter derselben Prüfung zur Verfügung. Konfigurierbar sind: enabled, route, showInSidebar, access und packageName. Das Plugin funktioniert ausschließlich mit MongoDB. Hochgeladene Dateien, globale Admin-Einstellungen und interne Payload-System-Collections werden nicht gesichert.

Paketinformationen

Paketname
@yairl/payload-db-backup-restore
Neueste Version
0.1.2
Entpackte Größe
62 kB
Lizenz
MIT
Wöchentliche Downloads
74
Zuletzt veröffentlicht
17. Juli 2026

Mehr von ylahav

Profil ansehen

Ähnliche Plugins

Mehr in Admin