# Procédures d'import ## Sync de la base de prod avec la base locale su postgres psql ``` \c postgres DROP DATABASE apisub; CREATE DATABASE apisub WITH OWNER apisub; \c apisub BEGIN; \i /home/stc/Bureau/apisub20181213.sql SELECT pg_catalog.set_config('search_path', 'public', false); COMMIT; ``` ## Sync des inscriptions arbitrées sur tableur 1. Ne conserver que les colonnes `code` et `utclogin` 2. Enregistrer sous ; format CSV ; paramètres du filtre (UTF-8 et séparateur ;) 3. Importer dans une table finalsub ``` BEGIN; CREATE TABLE finalsub ( api INTEGER NOT NULL, utclogin TEXT, PRIMARY KEY (api,utclogin)); COPY finalsub FROM '/home/stc/Bureau/api_sub_final.csv' WITH CSV HEADER DELIMITER ';'; COMMIT; ``` ### Inscriptions ``` SELECT 'echo ''Bonjour ' || firstname || ' ' || surname || ', vous êtes inscrit(e) à ' || normcode || '-' || name || '.''' || ' | mutt -s ''Inscription Api'' ' || finalsub.utclogin || '@etu.utc.fr' FROM finalsub JOIN vapi ON vapi.code=finalsub.api JOIN localuser ON localuser.utclogin=finalsub.utclogin ORDER BY surname; ``` ### Non-inscrit ``` CREATE VIEW vnosub AS SELECT utclogin FROM subscribe EXCEPT SELECT utclogin FROM finalsub; SELECT 'echo "Bonjour ' || firstname || ' ' || surname || ', Nous n''avons malheureusement pas pu vous trouver de place dans les Api que vous souhaitiez suivre. Nous vous rappelons que les Api seront à nouveau ouvertes lors des prochains inter-semestres." | mutt -s ''Désinscription Api'' ' || vnosub.utclogin || '@etu.utc.fr' FROM vnosub JOIN localuser ON localuser.utclogin=vnosub.utclogin ORDER BY vnosub.utclogin; ```