\echo ****************************** \echo * Dropping database participer_thsf \echo ****************************** \c postgres; drop database participer_thsf; \echo ************************** \echo * Dropping role participer_thsf \echo ************************** drop role participer_thsf; \echo *************************************************** \echo * Creating role participer_thsf with password participer_thsf \echo *************************************************** create role participer_thsf with LOGIN ENCRYPTED PASSWORD 'participer_thsf'; \echo ****************************** \echo * Creating database participer_thsf \echo ****************************** create database participer_thsf; \echo ******************************************* \echo * Giving participer_thsf ownership to participer_thsf \echo ******************************************* alter database participer_thsf owner to participer_thsf; \echo ********************************* \echo * Creating participer_thsf_users table \echo ********************************* \c participer_thsf; CREATE TABLE participer_thsf_users ( id serial primary key, mail text not NULL, password text not NULL, name text, phone text, diet text, is_admin integer not NULL ); \echo ********************************* \echo * Creating participer_thsf_roles table \echo ********************************* CREATE TABLE participer_thsf_roles ( id serial primary key, role text not NULL, description text not NULL ); \echo ********************************* \echo * Creating participer_thsf_turns table \echo ********************************* CREATE TYPE dow AS ENUM ('Jeudi', 'Vendredi', 'Samedi', 'Dimanche'); CREATE TABLE participer_thsf_turns ( id serial primary key, role_id integer not NULL, user_id integer, wday dow not NULL, start_time time not NULL, end_time time not NULL, constraint fk_turns_role foreign key (role_id) REFERENCES participer_thsf_roles (id), constraint fk_turns_user foreign key (user_id) REFERENCES participer_thsf_users (id) ); \echo ************************************************* \echo * Giving participer_thsf_users ownership to participer_thsf \echo ************************************************* alter table participer_thsf_users owner to participer_thsf; \echo ************************************************* \echo * Giving participer_thsf_roles ownership to participer_thsf \echo ************************************************* alter table participer_thsf_roles owner to participer_thsf; \echo ************************************************* \echo * Giving participer_thsf_turns ownership to participer_thsf \echo ************************************************* alter table participer_thsf_turns owner to participer_thsf; \echo ********************************************************************* \echo * Inserting user demo identified by password demo to participer_thsf_users \echo ********************************************************************* insert into participer_thsf_users (mail, password, name, phone, diet, is_admin) values ('bofh@tetalab.org', '$2b$12$wm7PQ9IE7TYGYk1XB11mPusq7HsjYLYxt5G4v5Wz.jZbh5iWDHP5q', 'BOFH', '0000000000', 'Omnivore', 1); \echo ********************************************************************* \echo * Inserting roles to participer_thsf_roles \echo ********************************************************************* insert into participer_thsf_roles (role, description) values ('Préparation/Installation/signalétique', 'Fermeture des zones inaccessibles au public|Prépa buvette : allumage tireuses et frigos 4h avant ouverture + approvisionnement des bars en produits destinés à la vente|Préparation des différents postes / stands selon besoins : PLN, billetterie, T-Shirts...|Prépa toilettes public : aspiration/pompage, nettoyage à grandes eaux, remplissage du produit, changement poubelles, approvisionnement PQ|Nettoyage lieu, réapprovisionnement poubelles aux endroits stratégiques'); insert into participer_thsf_roles (role, description) values ('Volante', 'veille à la sécurité du lieu : rondes, surveillance accès, gestion de crises, messager, remplaçant, etc... (collaboration avec référent staff)|Ramassage verre, check PQ, ménage ponctuel|Sur le dernier créneau horaire, nettoyage de deux blocs WC|Au moins une personne connaissant bien Myrys sur chaque créneau horaire'); insert into participer_thsf_roles (role, description) values ('P.L.N', 'Accueil public, explication du concept de PLN, tampons (si besoin)|Informer et guider le public (prog, espaces, toilettes,...)|Comptage du public'); insert into participer_thsf_roles (role, description) values ('Buvette','Service au bar et encaissement (caisse ou tickets boisson selon besoins)|Nettoyage régulier : bar, tireuses, cendriers, verres abandonnés...'); insert into participer_thsf_roles (role, description) values ('Billeterie','Vente de tickets boisson / 1 ticket = 2,50 €|Poinçonnage des cartes VIP. 1 poinçon = 1 ticket = 1 euros|Tickets valables sur les 4 jours mais NON REMBOURSABLES'); insert into participer_thsf_roles (role, description) values ('Catering', 'Vérification de l''accès au catering (badge)|Service à l''assiette si besoin, gestion des quantités, réapprovisionnement du buffet|Maintenir la propreté des espaces catering (cuisine, buffet, tables, salle d''AG, tables extérieures, jardins)|Informer / rappeler le principe d''autogestion pour la vaisselle'); insert into participer_thsf_roles (role, description) values ('Ménage', 'Nettoyage général à la fermeture du lieu : ramasser verres / déchets / cendriers, sortir poubelles, cleaner surfaces (bar, stand,...) + balai');