Esportazione Postgres

Un solo comando scrive un progetto in un bundle che ripristini nel tuo Postgres: tabelle tipizzate generate dai tuoi modelli, i tuoi contenuti pubblicati e i link per scaricare i tuoi file.

Un solo comando

foir export postgres scrive un archivio nella directory corrente. Passagli una stringa di connessione come destinazione e la CLI applica il bundle dalla tua macchina con psql, senza inviare la stringa a Fóir. Il bundle ti arriva in streaming e non viene conservato da noi. Il ripristino richiede Postgres 15 o successivo.

Tabelle tipizzate e chiavi esterne

Ogni modello che contiene record diventa una tabella tipizzata, generata dal suo schema pubblicato, con le chiavi dei tuoi campi come colonne in snake case. Accanto ci sono le tabelle per i file, le traduzioni per locale, i riferimenti a più valori e i grant di accesso. Un riferimento che punta a un solo modello diventa una chiave esterna, applicata dopo il caricamento dei dati. Uno che può puntare a più modelli non ne ha, perché un singolo vincolo non può nominare più tabelle.

Contenuti pubblicati, a meno che tu non ne chieda di più

Le tabelle tipizzate contengono la versione pubblicata di ogni record. Bozze, versioni precedenti e varianti non pubblicate sono escluse, così come un record che non è mai stato pubblicato. Un modello senza gestione delle versioni o pubblicazione esporta i suoi record così come sono memorizzati. Aggiungi --include-raw e il bundle ottiene una tabella in più con ogni record così come memorizzato, in JSON.

File come link di download

Il bundle non contiene i file stessi. Elenca un link di download a tempo per ogni file referenziato dai contenuti esportati, con uno script che scarica ciascuno nel percorso a cui punta il contenuto. Ottieni gli originali, e i file che nessuno referenzia non sono elencati. Chiunque abbia l'elenco può scaricare finché i link non scadono, quindi trattalo come un secret.

Il file di verifica

L'export stampa ciò che non ha potuto portare con sé: riferimenti pendenti e valori che non entrerebbero nella loro colonna, entrambi scritti come NULL. Rifiuta di produrre un bundle quando le righe estratte non concordano con un conteggio indipendente dei record pubblicati. Sul database ripristinato, validate.sql ricontrolla il numero di righe e i checksum per colonna. Non controlla le regole di accesso.

Leggi i dettagli

La guida all'export illustra come eseguire il comando, cosa contiene il bundle, come ripristinarlo da solo e come verificare il risultato.