-- 001__schemas.sql
-- Две схемы: fansy_staging (куда пишет ETL Fansy) и fansy (рабочая,
-- куда переливаются данные после валидации).

CREATE SCHEMA IF NOT EXISTS fansy_staging AUTHORIZATION bj_migrator;
COMMENT ON SCHEMA fansy_staging IS
    'Staging-схема. ETL Fansy делает UPSERT в эти таблицы. Сюда же пишутся ошибки выгрузки.';

CREATE SCHEMA IF NOT EXISTS fansy AUTHORIZATION bj_migrator;
COMMENT ON SCHEMA fansy IS
    'Рабочая схема. Сюда переливаются актуальные данные триггерами или процедурами после валидации staging.';

-- Права по ролям. DDL-права остаются только у владельца bj_migrator.
GRANT USAGE ON SCHEMA fansy_staging TO fansy_etl;
GRANT USAGE ON SCHEMA fansy TO bj_reader;

ALTER DEFAULT PRIVILEGES IN SCHEMA fansy_staging
    GRANT SELECT, INSERT, UPDATE ON TABLES TO fansy_etl;
ALTER DEFAULT PRIVILEGES IN SCHEMA fansy_staging
    GRANT USAGE, SELECT, UPDATE ON SEQUENCES TO fansy_etl;

ALTER DEFAULT PRIVILEGES IN SCHEMA fansy
    GRANT SELECT ON TABLES TO bj_reader;
