حل مشكلة العطل أثناء الترقية

mr. vb

New Member
بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته
قد تواجهون مشكلة أثناء الترقية للإصدار 3.5.0
بعد الإنتهاء من الترقية والوصول إلى خطوة تركيب اللغة
ستظهر لديكم مشكلة وهي إنشاء جدول لقاعدة البيانات
وهذا الجدول موجود بالأساس إذا وافقت ربما ستواجه مشكلة في قاعدة البيانات
لحل هذه المشكلة ، يفضل التعديل على ملف upgrade_350b1.php
الموجود بالمجلد : install
إبحث عن

PHP:
    $query[] = "ALTER TABLE " . TABLE_PREFIX . "session ADD languageid SMALLINT UNSIGNED NOT NULL";
    $explain[] = sprintf($upgrade_phrases['upgrade_300b3.php']['altering_x_table'], 'session', 1, 1);

    $query[] = "ALTER TABLE " . TABLE_PREFIX . "administrator ADD languageid SMALLINT UNSIGNED NOT NULL";
    $explain[] = sprintf($upgrade_phrases['upgrade_300b3.php']['altering_x_table'], 'administrator', 1, 1);


وإستبدله بالكود الجديد

PHP:
    $db->hide_errors();
    $db->query_first("SELECT languageid FROM " . TABLE_PREFIX . "session LIMIT 1");
    if ($db->errno())
    {
        # This session alter should not cause any upgrade problems with the new 3.5 upgrade system... I think ..
        $query[] = "ALTER TABLE " . TABLE_PREFIX . "session ADD languageid SMALLINT UNSIGNED NOT NULL";
        $explain[] = sprintf($upgrade_phrases['upgrade_300b3.php']['altering_x_table'], 'session', 1, 1);
    }
    $db->errno = 0;

    $db->query_first("SELECT languageid FROM " . TABLE_PREFIX . "administrator LIMIT 1");
    if ($db->errno())
    {
        $query[] = "ALTER TABLE " . TABLE_PREFIX . "administrator ADD languageid SMALLINT UNSIGNED NOT NULL";
        $explain[] = sprintf($upgrade_phrases['upgrade_300b3.php']['altering_x_table'], 'administrator', 1, 1);
    }
    $db->errno = 0;
    $db->show_errors();

إعتمد التعديل ، إرفع الملف إلى نفس المجلد
باشر بالترقية
 
السلام عليكم ورحمة الله وبركاته
شكرا ً جزيلا ً اخي الفاضل mr.vb على الشرح
بارك الله بكم وجزاكم الله الف خير
 
عودة
أعلى