2013-09-22 36 views
0

我有3個應用程序共享一個codeigniter安裝的項目。直到我更改了mysql表的名稱,並且更改了查詢以反映數據庫的新更改之前,它一直非常好用。現在看起來像我的插入查詢緩存,並嘗試將值插入舊錶(這不再存在)。這是我到目前爲止已經試過:Codeigniter活動記錄查詢緩存 - 查找舊錶名而不是新表

CI:

$this->db->cache_delete_all() 

的mysql:

RESET QUERY CACHE; 

在配置/ database.php中:

$db['default']['db_debug'] = TRUE; 
$db['default']['cache_on'] = FALSE; 

當db_debug配置設置爲TRUE它會給出500錯誤,當FALSE時,我能夠捕捉到錯誤,並且它變成了它試圖插入到舊錶中, ist了。我不明白這怎麼可能,我甚至搜索了我的完整項目,並且無法在我的項目中的任何位置找到舊錶名,CI緩存文件夾也是空的。任何幫助,將不勝感激。

編輯:我的插入代碼:

if($this->db->insert('booking_calendar', $data)) 
{ 
    $booking_id = $this->db->insert_id();   
    $this->load->helper('string'); 


    $order_id = strtoupper(random_string('alnum', 6)) . $booking_id; 


    $data = array(
     'id'     => $order_id, 
     'booking_calendar_id' => $booking_id, 
     'status'    => 'PAYMENT_PENDING'        
    ); 

    if($this->db->insert('bookings', $data)) 
    { 
     $this->notifications->add($MYSELF['id'], 'Court successfully booked.'); 
     return $order_id; 
    } 

    $this->notifications->add($MYSELF['id'], 'Court booking failed.', 'warning'); 
    return false; 
} 
else 
{    
    log_message('ERROR', 'Insert booking_calendar failed. ' . print_r($this->db->_error_message(), true)); 
} 

而且這是在我的日誌輸出:

ERROR - 2013-09-23 20:05:13 --> Insert booking_calendar failed. Table 'tennis.courts_calendar' doesn't exist 

通知是自定義的類,它只是插入一行在「通知」表。

+0

發佈您的插入代碼 - 最有可能你錯過了改變那裏的東西 – jmadsen

+0

@jmadsen我編輯了我的問題,包括插入代碼,對於遲到的答案感到抱歉。 – Dexa

回答

0

我找到答案,我的問題,我有之前INSERT/UPDATE會觸發我的桌子,當我改變了它的事實證明,將與新名稱相同的表仍然觸發舊錶名,而不是名稱新的一個。所以我只是更新觸發器,現在它正在工作。希望這會爲別人節省時間,因爲從現在的角度來看,即使它看起來微不足道,我也需要一段時間。