Files
ROMFASTSQL/system_instructions/README.md
Marius 82950b81a5 Initial commit: Romanian ERP database migration system
Complete project setup with:
- PACK_MIGRARE utility package
- Migration script examples and patterns
- Comprehensive documentation in CLAUDE.md and README.md
- System instructions for SQL generation

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-08 16:55:07 +03:00

78 lines
2.8 KiB
Markdown

# System Instructions - ROMFASTSQL
Acest director contine instructiuni system si exemple pentru proiectul ROMFASTSQL - un sistem de migrare pentru baza de date ERP romaneasca Oracle.
## Structura
- `system_prompt.md` - Instructiuni principale pentru generarea scripturilor SQL
- `knowledge_base/` - Colectie de exemple si utilitare
- `PACK_MIGRARE.pck` - Package-ul central cu functii utilitare
- Multiple fisiere exemplu de scripturi (ff_*.sql, co_*.sql)
## Componente Principale
### PACK_MIGRARE Package
Package-ul central care ofera functii de verificare:
- `ColumnExist()` - Verifica daca o coloana exista
- `ObjectExist()` - Verifica daca un obiect exista
- `ConstraintExist()` - Verifica daca o restrictie exista
- `UpdateVersiune()` - Tracking versiuni pentru scripturi
### Exemple Scripturi Migrare
Directorul `knowledge_base/` contine exemple pentru:
- **ff_*.sql** - Scripturi de tip "Fast Forward" pentru modificari structurale
- **co_*.sql** - Scripturi pentru obiecte comune
## Conventii Obligatorii
### Formatare SQL
- **NU** folositi ghilimele in jurul numelor de tabele/coloane
- **NU** specificati numele schemei (ex: folositi `JV2007` nu `"SCHEMA"."JV2007"`)
- **MAJUSCULE** pentru toate cuvintele cheie SQL
- Comentarii in romana
### Structura Scripturi
1. Comentariu scurt in romana la inceput
2. Verificari existenta prin PACK_MIGRARE
3. Operatiuni DDL in blocuri PL/SQL
4. MERGE cu NOT MATCHED pentru inserari
5. COMMENT statements directe (nu EXECUTE IMMEDIATE)
6. `pack_migrare.UpdateVersiune()` la sfarsit
7. `commit;`
### Nomenclatura
- Fisiere: `ff_YYYY_MM_DD_NN_TYPE.sql` sau `co_YYYY_MM_DD_NN_TYPE.sql`
- Exemple: `ff_2024_08_28_02_COMUN_EFACTURA.sql`, `co_2024_03_04_01_OBIECTE.sql`
- **ff_** - Fast Forward, pentru modificari structurale si date
- **co_** - Common Objects, pentru obiecte si definitii sistem
## Tipuri Comune de Modificari
### 1. Adaugare Coloane
- Verificare existenta cu `PACK_MIGRARE.COLUMNEXIST()`
- Executie in bloc PL/SQL cu `EXECUTE IMMEDIATE`
- Adaugare `COMMENT ON COLUMN` pentru documentare
### 2. Inserare Date Configurare (OPTIUNI)
- `MERGE INTO` cu `USING DUAL`
- Doar clauza `WHEN NOT MATCHED` pentru idempotenta
- Tipuri: CHARACTER, NUMERIC
### 3. Inserare Obiecte Sistem (DEF_OBIECTE)
- MERGE pe `id_obiect` unic
- Include relatii parinte-copil (`id_tata`)
- Gestionare drepturi prin `DEF_GRUP_DREPT_OBIECTE`
### 4. Creare/Modificare View-uri
- `CREATE OR REPLACE VIEW`
- Join-uri complexe pentru agregare date
- Alias-uri descriptive in romana
### 5. Update-uri Simple
- UPDATE direct pentru corectii date
- TRIM pentru curatare spatii
- REPLACE pentru modificari cai/valori
## Utilizare
Aceste fisiere servesc ca ghid si exemple pentru crearea scripturilor SQL de migrare sigure si idempotente in cadrul proiectului ROMFASTSQL.