Export Postgres

Une seule commande écrit un projet sous forme de bundle que vous restaurez dans votre propre Postgres : des tables typées générées à partir de vos modèles, votre contenu publié et des liens pour télécharger vos fichiers.

Une seule commande

foir export postgres écrit une archive dans le répertoire courant. Donnez-lui une chaîne de connexion comme cible et la CLI applique le bundle depuis votre propre machine avec psql, sans envoyer la chaîne à Fóir. Le bundle vous est transmis en flux et n'est pas stocké de notre côté. La restauration demande Postgres 15 ou plus récent.

Tables typées et clés étrangères

Chaque modèle qui contient des enregistrements devient une table typée, générée à partir de son schéma publié, avec vos clés de champ en colonnes en snake case. À côté se trouvent des tables pour les fichiers, les traductions par locale, les références à valeurs multiples et les octrois d'accès. Une référence qui pointe vers un seul modèle devient une clé étrangère, appliquée après le chargement des données. Une référence qui peut pointer vers plusieurs modèles n'en reçoit pas, car une contrainte unique ne peut pas nommer plusieurs tables.

Contenu publié, sauf demande contraire

Les tables typées contiennent la version publiée de chaque enregistrement. Les brouillons, les anciennes versions et les variantes non publiées sont exclus, ainsi que les enregistrements jamais publiés. Un modèle sans versionnement ni publication exporte ses enregistrements tels que stockés. Ajoutez --include-raw et le bundle gagne une table contenant tous les enregistrements tels que stockés, en JSON.

Les fichiers sous forme de liens de téléchargement

Le bundle ne contient pas les fichiers eux-mêmes. Il liste un lien de téléchargement limité dans le temps pour chaque fichier que référence le contenu exporté, avec un script qui récupère chacun à l'emplacement que le contenu désigne. Vous obtenez les originaux, et les fichiers que rien ne référence ne sont pas listés. Toute personne détenant la liste peut télécharger jusqu'à l'expiration des liens, traitez-la donc comme un secret.

Le fichier de vérification

L'export affiche ce qu'il n'a pas pu transporter : les références orphelines et les valeurs qui ne tiendraient pas dans leur colonne, toutes écrites en NULL. Il refuse de produire un bundle quand les lignes extraites ne concordent pas avec un décompte indépendant des enregistrements publiés. Sur votre base restaurée, validate.sql revérifie les nombres de lignes et les sommes de contrôle par colonne. Il ne vérifie pas les règles d'accès.

Lire le détail

Le guide d'export explique comment lancer la commande, ce que contient le bundle, comment le restaurer vous-même et comment vérifier le résultat.