Import des pays
Lors de l'installation du backend, l'import des pays depuis un export provenant du SI permet de ne pas avoir à saisir le contenu de la nomenclature pays.
Cette documentation donne plusieurs moyen de procéder à cet import mais le plus important à prendre en compte est :
- Le format à respecter pour l'ordre des champs est le suivant :
id,libelle,is_valid,code_alpha_2,code_alpha_3
- Il faut penser à mettre à jour la séquence qui gère les id à l'issue de l'import avec la commande suivante
SELECT setval('pays_id_seq', (SELECT id FROM pays ORDER BY id desc LIMIT 1), true);
Important
Un fichier csv correctement formaté est disponible dans les sources à l'emplacement suivant : src/main/resources/db-import/pays.csv
Format du CSV
id,libelle,is_valid,code_alpha_2,code_alpha_3
1,France,true,FR,FRA
2,Italie,true,IT,ITA
...
Import depuis le serveur
Import d'un fichier CSV depuis un prompt SQL
Déposer le fichier sur le serveur de db (ici dans '/tmp/pays.csv'
)
COPY pays(id,libelle,is_valid,code_alpha_2,code_alpha_3)
FROM '/tmp/pays.csv'
DELIMITER ','
CSV HEADER;
-- Set sequence
SELECT setval('pays_id_seq', (SELECT id FROM pays ORDER BY id desc LIMIT 1), true);
Import via STDIN
echo "id,libelle,is_valid,code_alpha_2,code_alpha_3
1,France,true,FR,FRA
2,Italie,true,IT,ITA" | psql -U vasco -c "COPY public.pays(id,libelle,is_valid,code_alpha_2,code_alpha_3)
FROM STDIN
DELIMITER ','
CSV HEADER;";psql -U vasco -c "SELECT setval('pays_id_seq', (SELECT id FROM pays ORDER BY id desc LIMIT 1), true);"
Import d'un CSV depuis une application
De nombreuses applications permettent un import (PgAdmin, IntelliJ)
Caractéristique du fichier
- Première ligne contient les en-têtes de colonne (option header)
- Encodage UTF-8
Paramétrage des colonnes
Mise à jour de la séquence
A ne pas oublier.
SELECT setval('pays_id_seq', (SELECT id FROM pays ORDER BY id desc LIMIT 1), true);