51 lines
3.2 KiB
SQL
51 lines
3.2 KiB
SQL
-- =============================================================================
|
|
-- File purpose : Script de onboarding ROA_WEB pentru o schemă nouă (per-firmă)
|
|
-- When to run : Rulat ca CONTAFIN_ORACLE (sau DBA) DUPĂ `impdp` al schemei
|
|
-- Usage : Substituie `<SCHEMA>` (3 apariții pe linie sau per bloc) cu
|
|
-- numele schemei reale (ex: MARIUSM_AUTO, ACME_AUTO) înainte
|
|
-- de rulare. Un singur search-and-replace acoperă tot fișierul.
|
|
-- Version : 2026-04-12
|
|
-- Prerequisite : ROA_WEB user creat O SINGURĂ DATĂ (vezi §2 de mai jos).
|
|
-- Full procedure : docs/service-auto/deploy-schema-noua.md
|
|
-- =============================================================================
|
|
--
|
|
-- ORDINE OPERAȚII pentru o schemă nouă:
|
|
-- 1. impdp schema nouă (REMAP_SCHEMA, exclude sequences dacă există)
|
|
-- 2. RULEAZĂ SECȚIUNEA §1 a acestui fișier (GRANT-uri per-schemă)
|
|
-- 3. Adaugă `.env` → `ORACLE_SERVERS` dacă server nou + restart backend
|
|
-- 4. Rulează migrațiile service-auto în ordine cronologică
|
|
-- (docs/service-auto/migrations/ff_YYYY_MM_DD_NN_AUTO.sql)
|
|
-- 5. Smoke test: /ping, /tip-deviz, /masini, /comenzi
|
|
--
|
|
-- =============================================================================
|
|
-- §1. GRANT-uri per-schemă — RULAT PENTRU FIECARE FIRMĂ NOUĂ
|
|
-- =============================================================================
|
|
-- Înlocuiește `<SCHEMA>` cu schema reală (ex: MARIUSM_AUTO) înainte de rulare.
|
|
|
|
GRANT EXECUTE ON <SCHEMA>.PACK_AUTO TO ROA_WEB;
|
|
GRANT SELECT ON <SCHEMA>.AUTO_VMASINICLIENTI TO ROA_WEB;
|
|
GRANT SELECT ON <SCHEMA>.DEV_TIP_DEVIZ TO ROA_WEB;
|
|
GRANT SELECT ON <SCHEMA>.CALENDAR TO ROA_WEB; -- period selector AppHeader
|
|
GRANT SELECT ON <SCHEMA>.DEV_ORDL TO ROA_WEB; -- GET /api/service-auto/comenzi
|
|
GRANT SELECT ON <SCHEMA>.NOM_LUCRARI TO ROA_WEB; -- JOIN cu DEV_ORDL pentru nrord
|
|
|
|
-- Granturi adăugate de migrațiile service-auto (ff_2026_04_13_01_AUTO.sql).
|
|
-- Dacă rulezi onboarding-ul INAINTE de migrații, aceste linii pot fi skipped
|
|
-- (migrația le va aplica). Dacă rulezi DUPĂ migrații, sunt idempotente (GRANT e no-op).
|
|
GRANT SELECT ON <SCHEMA>.DEV_NOM_NORME TO ROA_WEB;
|
|
GRANT SELECT ON <SCHEMA>.DEV_NOM_INSPECTORI TO ROA_WEB;
|
|
GRANT SELECT ON <SCHEMA>.DEV_NOM_ASIGURATORI TO ROA_WEB;
|
|
GRANT SELECT ON <SCHEMA>.NOM_PARTENERI TO ROA_WEB;
|
|
GRANT INSERT ON <SCHEMA>.NOM_PARTENERI TO ROA_WEB;
|
|
GRANT EXECUTE ON <SCHEMA>.PACK_SERII_NUMERE TO ROA_WEB;
|
|
|
|
-- =============================================================================
|
|
-- §2. ROA_WEB user creation — O SINGURĂ DATĂ pe instanță Oracle
|
|
-- =============================================================================
|
|
-- NU rula pentru fiecare firmă nouă. Rulează doar la setup inițial al instanței.
|
|
-- Parola reală se ia din vault și se salvează în `backend/secrets/<server>.oracle_pass`.
|
|
|
|
CREATE USER ROA_WEB IDENTIFIED BY "<REPLACE_WITH_STRONG_PASSWORD_FROM_VAULT>";
|
|
GRANT CREATE SESSION TO ROA_WEB;
|
|
-- Fără alte privilegii sistem. Accesul la date = exclusiv prin granturi per-obiect.
|