4.4 KiB
4.4 KiB
Handoff — idempotenta script 03 + ColumnNeedModify (2026-09-17, ~15:00)
Stare pentru sesiunea urmatoare. Nimic in stare periculoasa pe disc. Fisierele necomise sunt listate la pct. 4.
1. Livrabile terminate
| Ce | Unde | Stare |
|---|---|---|
| Script 03 idempotent | D:\ROA\DATABASE\SCRIPTURI_CLAR\2026\09\ff_2026_09_17_03_COMUN_ID_SET_UNIC.sql |
editat in loc, PUBLICAT (UPD_DATABASE id 17609 reactualizat) |
| Script 04 nou (PACK_MIGRARE + functia ColumnNeedModify) | D:\ROA\DATABASE\SCRIPTURI_CLAR\2026\09\ff_2026_09_17_04_COMUN_PACK_MIGRARE.sql |
nou, PUBLICAT (id 17610) |
| Arhiva lunara | Y:\ROAUPDATE\_UPDATE\ |
regenerata (30 scripturi), verificata octet cu octet |
Ambele scripturi: ASCII (0 octeti > 127), CRLF, fara BOM, se termina cu UpdateVersiune + commit;.
2. Ce face scriptul 03 (acum idempotent)
alter table ... modify (id_set number(10))era direct; acum e indeclarecu guard:pack_migrare.ColumnExist(...) = 1ANDdata_type='NUMBER' AND data_precision < 10. Pe dev coloanele sunt deja NUMBER(10) (data_precision=10), deci guard-ul sare corect.- Trigger-ul e
create or replace(idempotent); renumerotareawhere id_set < 1000000e no-op la a doua rulare.
3. Ce face scriptul 04 (noua functie)
PACK_MIGRARE.ColumnNeedModify(tcTableName, tcColumnName, tcDataType, tnPrecision, tnScale, tcNullable):
intoarce 1 daca coloana NU are definitia ceruta (trebuie ALTER MODIFY), 0 altfel. Orice parametru NULL = aspectul nu se verifica.
Pachetul complet a fost reprodus din DB-ul live (are ramura when 'RF' THEN din UpdateVersiune, pe care .pck-ul stale o pierduse) + functia noua. Baza: scriptul 2014 ff_2014_08_18_01_COMUN_PACK_MIGRARE.sql == DB live (verificat cu diff).
4. APROBAT dar NEEXECUTAT (Marius a aprobat in sesiune)
- A: in
COMUN\skills\roa-oracle-migration\SKILL.md— inlocuieste criteriul CRLF buguit($b -join ',').Contains('13,10')(fals pozitiv: byte 113='q' + 10 => "113,10" contine "13,10") cu regex-ul(?<!\r)\n(acelasi pe care-l folosestepublicare_scripturi.ps1linia 543). - B: capcana noua in
roa-oracle-migration\SKILL.md+scripturi-migrare-db.md: fisierele.sqlnoi ies cu LF dinwrite/edit; converteste CRLF inainte de publicare. One-liner:$t = [IO.File]::ReadAllText($p); $t = $t -replace "rn","n" -replace "n","rn"; [IO.File]::WriteAllText($p, $t, (New-Object System.Text.ASCIIEncoding)) - C: in
COMUN\docs\oracle_export.md— un rand:.pckpoate fi stale (ex. PACK_MIGRARE fara ramura RF); verifica echivalenta fata de DB live inainte de a-l folosi. - Sterge
.pck-urile dinCOMUN\docs\:PACK_MIGRARE.pck,PACK_UPDATE.pck,PACK_DIAG_SPATIU.pck. Marius: foloseste doar ultimele versiuni din SCRIPTURI_CLAR, nu exporturi.pckdin docs. ATENTIE:oracle_export.mdsiroa-domeniu-rutare\SKILL.mdtrimit la*.pck— actualizeaza-le.
5. NEFINALIZAT / necomis (din sesiunile trecute)
COMUN\utile\roa-sql.ps1— NOU, necomis (svn add + commit + roa_sync).- AGENTS.md: sectiunea "Stil de interactiune" adaugata — necomisa.
COMUN\docs\reguli_lucru.md: regula 14 (intreaba cu optiuni in loc de investigatie) adaugata — necomisa.roa-domeniu-rutare\SKILL.md: sectiunea "Comenzi directe" (comenzi sqlplus deterministe) — NEINCEPUTA.- Scripturile 03 (M) si 04 (A) din
D:\ROA\DATABASE— de comis in SVN (svn addpt 04).
6. Comenzi de reluat
# publicare (deja facuta, doar daca re-rulezi):
powershell -File D:\ROA\ROAFACTURARE\COMUN\utile\publicare_scripturi.ps1 -DryRun
# SQL pe dev:
powershell -File COMUN\utile\roa-sql.ps1 -Schema MARIUSM_AUTO -Sql "select user from dual"
# commit SVN in D:\ROA\DATABASE (doar 03 + 04, tintit):
# svn commit 2026\09\ff_2026_09_17_03_COMUN_ID_SET_UNIC.sql 2026\09\ff_2026_09_17_04_COMUN_PACK_MIGRARE.sql -F <mesaj>
# commit COMUN: vezi skill roa-git-svn-commit (doar fisierele aprobate, apoi roa_sync.bat)
7. Capcane platite (NU se repeta)
- Verificarea CRLF cu
($b -join ',').Contains('13,10')e FALS-POZITIVA. Foloseste(?<!\r)\n. - Tool-ul
writescrie.sqlcu LF, nu CRLF — converteste. .pck-urile dinCOMUN\docspot fi stale fata de DB live (PACK_MIGRARE pierduse ramura RF).roa-actualizare-doc/roa-domeniu-rutareNU sunt in lista mea de skill-uri; citeste-le curead, nu invocaskill.- Greseli de disciplina: n-am folosit subagenti (regula 6) si am depasit pragul de 250k (REGULA ZERO).