README.md 1.55 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
# 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;