probooking
    • ProBookingCenter
    • Data Dictionary
    • Database Diagram
    • Code Issues
    • Page
    • Plan
    • Online vs Source Code
    • MIGRATION COMPARISON

    MIGRATION COMPARISON

    รายงานเปรียบเทียบการย้ายระบบ (Migration Comparison Report)#

    วันที่ตรวจสอบ: 25 มีนาคม 2026
    ระบบเดิม (OLD): https://office.probookingcenter.com (Laravel PHP)
    ระบบใหม่ (NEW): https://probooking.mafservices.us (Laravel PHP)
    Source Code: office3 project

    1. ผลทดสอบ#

    รายการผล
    Total Routes ที่ทดสอบ110
    PASS (เหมือนกัน)96 (87%)
    FAIL (ต่างกัน)14 (13%)

    2. หน้าที่ PASS ✅ (96 หน้า - ทำงานเหมือนกัน)#

    ทุกหน้าต่อไปนี้ ทำงานเหมือนกัน ทั้งสองระบบ (HTTP 200):

    Dashboard & Home#

    / Home ✅
    /dashboard Dashboard ✅
    /sales/dashboard Sales Dashboard ✅
    /admin/dashboard Admin Dashboard ✅

    Series Tour#

    /series-tour ✅ | /tours ✅ | /tours/create ✅ | /tours/series ✅ | /tours/settings/series ✅

    Period#

    /period ✅ | /period/rushtoSell/export ✅

    Booking#

    /my-booking ✅ | /booking/all ✅ | /bookings ✅

    Payment#

    /payment-due ✅ | /payment ✅

    Invoice & Receipt#

    /invoices/all ✅ | /invoices/request ✅ | /invoice ✅ | /invoice/list ✅ | /invoice/request/list ✅ | /invoicetax ✅ | /receipt ✅

    Ticket#

    /ticket/series ✅ | /ticket/pre-sale ✅ | /ticket/ticket ✅ | /tickets/chart ✅

    Incentive#

    /incentive ✅ | /incentive/create ✅

    Event#

    /event ✅ | /event/email ✅

    Agency#

    /agency ✅ | /agency/create ✅ | /agency/sales ✅ | /agency/sales/create ✅ | /agency/credit-shell ✅

    Admin / User Management#

    /admin ✅ | /admin/create ✅

    Account#

    /account ✅ | /account/password ✅

    Settings (16/19 ผ่าน)#

    /setting ✅ | Airline ✅ | Country ✅ | City ✅ | Bank ✅ | Land Operations ✅ | Route ✅

    Reports (22/23 ผ่าน)#

    /report/booking ✅ | /reports ✅ | Payment ✅ | Period ✅ | Income ✅ | Commission ✅
    Costing (4 routes) ✅ | Estimates (2 routes) ✅ | Actual Estimates (4 routes) ✅
    Invoice ✅ | Invoice Full Payment ✅ | Agency (2 routes) ✅ | Period Sales Monthly ✅ | Payment Series Summary ✅

    Document#

    /document ✅ | /document/series ✅

    REST APIs (15/17 ผ่าน)#

    Dashboard ✅ | Notifications ✅ | Payments ✅ | Series ✅ | Costing ✅ | All Booking ✅ | Income ✅ | Invoice ✅ | Report ✅

    Two-Factor Auth#

    /two-factor-form ✅

    3. หน้าที่ FAIL ❌ (14 หน้า - ต้องแก้ไข)#

    3.1 🔴 403 Forbidden (1 หน้า)#

    #หน้าPathOLDNEWสาเหตุที่เป็นไปได้
    1Rush to Sell/period/rushtoSell200403Middleware role (payment/admin/operation) อาจ block user Haru

    3.2 🔴 500 Internal Server Error (13 หน้า)#

    #หน้าPathOLDNEWสาเหตุที่เป็นไปได้
    2Booking List/booking200500Error ใน code - อาจ missing dependency หรือ DB issue
    3Payment Create/payment/create200500Error ใน code
    4Tickets/tickets200500Error ใน code
    5Promotion/promotion200500Error ใน code
    6Agency Sales Export/agency/sales/export200500Export function error
    7Setting Banner/setting/banner200500Error ใน code
    8Setting Flash Sale Banner/setting/flashsale-banner200500Error ใน code
    9Setting Promotions/setting/promotions200500Error ใน code
    10Reports Invoice Dep/reports/invoice/dep200500Error ใน code
    11Export All Booking/export/allbooking200500Export function error
    12Export All Booking Payment/export/allBookingPayment200500Export function error
    13REST Costing Init/rest/costing/init200500API error
    14REST Estimates/rest/estimates200500API error

    4. การวิเคราะห์สาเหตุ#

    4.1 Error 500 - ส่วนใหญ่น่าจะเกิดจาก:#

    1.
    Database migration ไม่ครบ - ตาราง/คอลัมน์ขาดหายไปในระบบใหม่
    2.
    Config ต่างกัน - .env ของระบบใหม่อาจขาด config บางตัว
    3.
    Package/Dependency version ต่าง - PHP version หรือ package version ไม่ตรงกัน
    4.
    Storage permission - ไฟล์ export เขียนไม่ได้
    5.
    Missing data - ข้อมูลอ้างอิง (foreign key) ไม่ครบในระบบใหม่

    4.2 วิธีตรวจสอบ Error 500:#

    4.3 หน้าที่ FAIL แยกตามกลุ่ม:#

    กลุ่มจำนวน FAILรายการ
    Export/Download3/export/allbooking, /export/allBookingPayment, /agency/sales/export
    Settings (list)3/setting/banner, /setting/flashsale-banner, /setting/promotions
    REST API2/rest/costing/init, /rest/estimates
    หน้าหลัก5/booking, /payment/create, /tickets, /promotion, /reports/invoice/dep
    Permission1/period/rushtoSell (403)

    5. สิ่งที่ค้นพบเพิ่มเติม#

    5.1 BlockBadBots Middleware#

    ไฟล์ app/Http/Middleware/BlockBadBots.php block curl User-Agent ทำให้ต้องใช้ browser User-Agent ในการทดสอบ

    5.2 TrustProxies ไม่ได้ตั้งค่า#

    ไฟล์ app/Http/Middleware/TrustProxies.php → $proxies เป็น null
    ควรตั้งเป็น '*' เพราะใช้ Cloudflare proxy

    5.3 APP_URL อาจเป็น http#

    Redirect จาก / ไป http://... แทน https://...
    ควรตั้ง APP_URL=https://probooking.mafservices.us ใน .env

    6. แผนการแก้ไข (Action Plan)#

    Priority 1: แก้ Error 500 (13 หน้า)#

    1.
    เปิด debug mode บน server ใหม่ (APP_DEBUG=true) ดู error message
    2.
    เช็ค laravel.log หาสาเหตุแต่ละหน้า
    3.
    รัน migration ถ้ายังไม่ได้รัน: php artisan migrate
    4.
    เช็ค storage permission: chmod -R 775 storage bootstrap/cache

    Priority 2: แก้ Config#

    5.
    แก้ .env:
    APP_URL=https://probooking.mafservices.us
    APP_DEBUG=false
    6.
    แก้ TrustProxies (app/Http/Middleware/TrustProxies.php):

    Priority 3: ทดสอบซ้ำ#

    7.
    รัน bash migration_test.sh อีกครั้ง หลังแก้ไข
    8.
    ทดสอบด้วยมือ สำหรับ flow ที่ซับซ้อน (Booking, Payment, Export)

    7. วิธีรัน Test#

    Report จะบันทึกไว้ที่ /tmp/migration_test_report_*.txt

    จัดทำโดย: Claude AI
    วันที่: 25 มีนาคม 2026
    ผลลัพธ์: 96/110 PASS (87%) | 14 FAIL ต้องแก้ไข
    Modified at 2026-03-25 16:09:31
    Previous
    Online vs Source Code
    Built with