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>
This commit is contained in:
78
system_instructions/README.md
Normal file
78
system_instructions/README.md
Normal file
@@ -0,0 +1,78 @@
|
||||
# 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.
|
||||
Reference in New Issue
Block a user