Add another method to prepare the import tables
This commit is contained in:
parent
9c90e5ac07
commit
db52c72d22
21
README.md
21
README.md
@ -14,8 +14,8 @@ Le client a rempli le canevas. Une relecture du fichier est toujours nécessaire
|
||||
Le fichier se compose de plusieurs feuilles, chacune doit être sauvée au format csv.
|
||||
|
||||
Pour préparer les fichiers on va:
|
||||
- nettoyer le fichier pour ne laisser en étiquette que les noms de colonnes en anglais.
|
||||
- ajouter une colonne de contôle en fin de ligne, par sécurité. Par exemple une colonne 'endcol' qui contient pour chaque cellule 'endrow'.
|
||||
- nettoyer le fichier pour ne laisser en étiquette que les noms de colonnes en anglais. Il faut donc supprimer les 4 premières lignes de chaque fichier + la 6ème ligne.
|
||||
(- ajouter une colonne de contôle en fin de ligne, par sécurité. Par exemple une colonne 'endcol' qui contient pour chaque cellule 'endrow'.)
|
||||
- ajouter les doublequote lors de la sauvegarde du csv,
|
||||
- enlever tous les line breaks et caractères spéciaux.
|
||||
|
||||
@ -61,6 +61,23 @@ La meilleure méthode pour moi est de réaliser cette étape en local avec phpst
|
||||
- export data > extractor: SQL-insert-multirow > copy to clipboard
|
||||
- coller les données dans `<client>-data.sql`
|
||||
|
||||
### 2.b Avec des fonctions Postgresql
|
||||
|
||||
On peut aussi utiliser la fonction `\copy` de psql pour charger un fichier csv dans les tables temporaires du schéma "import".
|
||||
|
||||
Tout d'abord, les tables du schéma "import" doivent être préparées avec le script `prepare-import.sql`.
|
||||
|
||||
Puis on importe les 4 fichiers csv.
|
||||
|
||||
```bash
|
||||
psql chill-import
|
||||
chill-import=# \copy "import".choix_personnes FROM 'choix_personnes.csv' DELIMITER ',' CSV HEADER
|
||||
chill-import=# \copy "import".personnes FROM 'personnes.csv' DELIMITER ',' CSV HEADER
|
||||
chill-import=# \copy "import".choix_periodes FROM 'choix_periodes.csv' DELIMITER ',' CSV HEADER
|
||||
chill-import=# \copy "import".periodes FROM 'periodes.csv' DELIMITER ',' CSV HEADER
|
||||
```
|
||||
|
||||
|
||||
## 3. Import du schéma 'import' sur le serveur (safran)
|
||||
|
||||
- transférer le fichier `<client>-data.sql` sur le serveur (avec scp):
|
||||
|
79
sql/prepare-import.sql
Normal file
79
sql/prepare-import.sql
Normal file
@ -0,0 +1,79 @@
|
||||
CREATE TABLE "import".choix_personnes (
|
||||
civility varchar(50) NULL,
|
||||
gender varchar(50) NULL,
|
||||
maritalstatus varchar(50) NULL,
|
||||
country varchar(50) NULL,
|
||||
household_composition_type varchar(50) NULL,
|
||||
household_position varchar(50) NULL
|
||||
);
|
||||
|
||||
CREATE TABLE "import".personnes (
|
||||
civility varchar(50) NULL,
|
||||
lastname varchar(50) NULL,
|
||||
firstname varchar(50) NULL,
|
||||
gender varchar(50) NULL,
|
||||
gendercomment varchar(50) NULL,
|
||||
nationality varchar(50) NULL,
|
||||
memo varchar(50) NULL,
|
||||
birthdate varchar(50) NULL,
|
||||
place_of_birth varchar(50) NULL,
|
||||
countryofbirth varchar(50) NULL,
|
||||
deathdate varchar(50) NULL,
|
||||
email varchar(50) NULL,
|
||||
phonenumber varchar(50) NULL,
|
||||
mobilenumber varchar(50) NULL,
|
||||
contactinfo varchar(50) NULL,
|
||||
street varchar(50) NULL,
|
||||
extra varchar(50) NULL,
|
||||
streetnumber varchar(50) NULL,
|
||||
postcode varchar(50) NULL,
|
||||
country varchar(50) NULL,
|
||||
validfrom varchar(50) NULL,
|
||||
maritalstatus varchar(50) NULL,
|
||||
maritalstatuscomment varchar(50) NULL,
|
||||
numberofchildren integer NULL,
|
||||
household_composition_type varchar(50) NULL,
|
||||
household_position varchar(50) NULL,
|
||||
household_startdate varchar(50) NULL
|
||||
);
|
||||
|
||||
CREATE TABLE "import".choix_periodes (
|
||||
closingmotive varchar(50) NULL,
|
||||
origin varchar(50) NULL,
|
||||
acp_scopes varchar(50) NULL,
|
||||
job varchar(50) NULL,
|
||||
"user" varchar(50) NULL,
|
||||
parent varchar(50) NULL,
|
||||
enfant varchar(50) NULL,
|
||||
acp_social_issues varchar(50) NULL,
|
||||
work_social_action varchar(50) NULL,
|
||||
street varchar(128) NULL,
|
||||
extra varchar(50) NULL,
|
||||
streetnumber integer NULL,
|
||||
postcode integer NULL,
|
||||
country varchar(50) NULL
|
||||
);
|
||||
|
||||
|
||||
CREATE TABLE "import".periodes (
|
||||
nom varchar(50) NULL,
|
||||
openingdate varchar(50) NULL,
|
||||
closingdate varchar(50) NULL,
|
||||
closingmotive varchar(50) NULL,
|
||||
origin varchar(50) NULL,
|
||||
remark integer NULL,
|
||||
intensity varchar(50) NULL,
|
||||
referrer varchar(50) NULL,
|
||||
job varchar(50) NULL,
|
||||
acp_scopes varchar(50) NULL,
|
||||
"address" varchar(50) NULL,
|
||||
personlocation varchar(50) NULL,
|
||||
addresslocation varchar(50) NULL,
|
||||
acp_socialissues varchar(50) NULL,
|
||||
work_socialaction varchar(50) NULL,
|
||||
comment1_content varchar(50) NULL,
|
||||
comment2_content varchar(50) NULL,
|
||||
comment3_content varchar(50) NULL,
|
||||
comment4_content varchar(50) NULL,
|
||||
comment5_content varchar(50) NULL
|
||||
);
|
Loading…
Reference in New Issue
Block a user