-- ############################################################################
-- Script "SQL" de creation et chargement de la base cave
-- A charger en tant qu'utilisateur postgresql :
--     psql < create_base_cave.sql
-- ou
--     psql -h ip_base < create_base_cave.sql
-- ############################################################################
-- S'assurer que le client est compatible avec les locales
-- On ne connait pas la locale de la base, a priori
-- Il semblerait toutefois qu'un client en latin9 sache afficher
-- des infos de base en UTF8
set CLIENT_ENCODING to 'latin9';

-- On droppe la base cave au cas ou elle existe
DROP DATABASE cave;

-- On supprime l'utilisateur caviste s'il existe
DROP USER caviste;

-- On cree l'utilisateur caviste
CREATE USER caviste NOSUPERUSER NOCREATEROLE NOCREATEDB PASSWORD 'caviste';

-- On cree la base cave
CREATE DATABASE cave OWNER caviste;

-- On ajoute le langage plpgsql a la base cave
CREATE OR REPLACE LANGUAGE plpgsql;

-- Connection à la base cave
\c cave caviste

-- Creation du schema de la base de donnees
\i schema/schema_cave.sql
\i fonctions/peuple_vin.sql
\i fonctions/peuple_stock.sql
\i fonctions/trous_stock.sql
\i fonctions/trous_vin.sql
\i data/appellation_region.sql
\i data/data.sql

