Files
comun/docs/scripturi-migrare-db.md
Marius Mutu f789ace574 docs: numerotarea scripturilor de migrare si ce intra in versiune_db.txt
Secventa NN e unica pe zi, comuna tuturor prefixelor (ff/co/sys/ris/rf). In versiune_db.txt
intra doar versiunea ultimului script ff_, pentru ca programele se conecteaza pe schema
firmei, nu pe CONTAFIN_ORACLE.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RYbiinqXxdEqXi53x4Ro7K
2026-08-02 11:42:57 +03:00

30 lines
1.6 KiB
Markdown

# Scripturi migrare baza de date Oracle
Scripturile de migrare a schemei (si modelele pentru scripturi noi) sunt in
`DATABASE\SCRIPTURI_CLAR` de sub radacina suitei ROA (folderul parinte al aplicatiei,
`gcDirMare`/`dirgen` — ex. `D:\ROA\DATABASE\SCRIPTURI_CLAR`).
Sursa SVN: `http://svnroa:3001/svn/ROA/DATABASE/Branches/RB-1.00`.
Pentru un script nou, urmeaza formatul/conventiile celor recente de acolo.
Reguli confirmate de Marius (24.07.2026):
- **Line-endings CRLF obligatoriu** in scripturile `.sql` — tool-urile agentului scriu
implicit LF; dupa orice scriere, verifica si converteste byte-safe LF -> CRLF (fara
decodare/reincodare). Parsarea pe fluxul ROA (ex. `ALINES` pe `CHR(13)+CHR(10)`)
esueaza silentios pe LF: tot fisierul devine un singur rand.
- `versiune_db.txt` (marker-ul `YYYY_MM_DD_NN` din radacina aplicatiei) se scrie fara
newline la final (conventia existenta).
- Aplicarea prin ODBC/`goExecutor`: sintaxa SQL*Plus `exec pachet.procedura(...)` nu
functioneaza — foloseste `begin pachet.procedura(...); end;`.
## Numerotare si versiune_db.txt
Numele scriptului: `<prefix>_YYYY_MM_DD_NN_<subiect>.sql`. Prefixe in uz: `ff` (schema fiecarei
firme), `co` (`CONTAFIN_ORACLE`), `sys`, `ris`, `rf`.
- **`NN` e o secventa unica pe zi, comuna tuturor prefixelor** — un numar consumat de un `co_`
nu se reia intr-un `ff_` din aceeasi zi si invers.
- In `versiune_db.txt` (radacina aplicatiei) se trece **doar versiunea ultimului script `ff_`**:
programele se conecteaza pe schema firmei, nu pe `CONTAFIN_ORACLE`, deci markerul urmareste
numai migrarile aplicate acolo.