# Phase 10.6.2.1 — Oracle Identifier 30-Char Fix

## سبب الإصلاح
ظهر الخطأ:

```text
ORA-00972: identifier is too long
```

بسبب أن بعض أسماء الـ Constraints / Indexes / Sequences في SQL كانت أطول من 30 حرفًا، وهذا غير مقبول في بعض إصدارات Oracle القديمة.

## ما تم تعديله

- الإبقاء على أسماء الجداول كما هي:

```text
DASH_EXEC_ACTION_REVIEW
DASH_EXEC_ACTION_REVIEW_AUDIT
```

- تقصير أسماء الـ Constraints والـ Indexes.
- تقصير اسم Sequence إلى:

```text
DASH_EXEC_ACT_REV_AUD_S
```

- تحديث `ExecutiveActionReviewRepository.php` ليستخدم اسم الـ Sequence الجديد.

## طريقة التركيب

انسخ:

```text
app
database
```

إلى:

```text
C:\xampp\htdocs\ddb-new
```

## تشغيل SQL

شغّل الملف الجديد فقط:

```text
database/executive_action_review_audit_trail.sql
```

لا تستخدم ملف SQL القديم الذي كان يحتوي على أسماء طويلة.

## الفحص بعد التشغيل

افتح:

```text
http://localhost/public/executive-action-review-storage-check.php?hospital=njch
```

المفترض أن ترى:

```text
storage_mode      | oracle
main_table_exists | YES
audit_table_exists| YES
```

## ملاحظات

إذا لم يتم تشغيل SQL، سيستمر النظام مؤقتًا في JSON fallback، لكن الإنتاج يجب أن يستخدم Oracle.
