-- 2026_07_24_fix_seferWallet_amount_varchar.sql -- Siro audit S5 (docs/21 في Tripz): seferWallet.amount في قاعدتي backend و ride_server -- كان varchar(10) — نفس عيب driverWallet/siroWallet في payment_server، لكن أخطر هنا: -- backend/ride/seferWallet/add.php:28 يُدخله بلا أي تحقّق رقمي (bindParam PARAM_STR -- على $amount = filterRequest("amount") مباشرة). يوسّعه إلى DECIMAL(12,3) NOT NULL. -- -- ⚠️ توسيع العمود وحده لا يمنع إدخال قيمة نصية غير رقمية مستقبلاً — سيفشل الإدراج -- بخطأ SQL بدل التسرّب الصامت (تحسين، لكن add.php يحتاج فحص is_numeric($amount) -- قبل التنفيذ. هذا خارج نطاق S4/S5 الأصليين ولم يُصلَح هنا — سجّله كبند منفصل. -- -- التطبيق: على قاعدتي backend و ride_server كلتيهما (الجدول مكرَّر بينهما). -- mysql < 2026_07_24_fix_seferWallet_amount_varchar.sql -- mysql < 2026_07_24_fix_seferWallet_amount_varchar.sql START TRANSACTION; ALTER TABLE `seferWallet` MODIFY COLUMN `amount` DECIMAL(12,3) NOT NULL; COMMIT; -- ── تراجع (لا يُنفَّذ تلقائياً) ───────────────────────────────────── -- ALTER TABLE `seferWallet` MODIFY COLUMN `amount` VARCHAR(10) NOT NULL;