2014-12-20 2 views
0

Когда я запустил drupal_write_record, он всегда возвращается к false. Я отлаживаю функцию и вижу, что функция drupal_get_schema, найденная внутри функции drupal_write_record, возвращает false. Более того, если я отладки в drupal_get_schema функции и посмотреть наdrupal_write_record in drupal 6 return false

$schema = $cached->data; 

Моя новая таблица не входит в $schema массив. Я попытался очистить кеш, переустановить модуль и запустить update.php, но ничего не помогает. В случае, если это помогает, я также включил файл .install я написал, что добавляет новую таблицу в базу данных:

<?php 
// $Id: my_module.install,v 1.00.0.1 2012/10/21 00:23:32 Exp $ 

/** 
* Implementation of hook_schema(). 
*/ 
function my_module_schema() { 
     $schema = array(); 
     $schema['my_module_pending_inserts'] = array(
     'fields' => array(
      'id' => array(
      'description' => 'primary key', 
      'type' => 'serial', 
      'size' => 'tiny', 
      'not null' => TRUE, 
     ), 
      'json_array_data' => array(
      'type' => 'text', 
      'not null' => TRUE, 
     ), 
      'successfully_run' => array(    
      'type' => 'int', 
      'not null' => TRUE, 
      'default' => 0, 
     ), 
      'date_created' => array(    
      'type' => 'int', 
      'not null' => TRUE, 
      'default' => 0, 
     ), 
      'date_updated' => array(    
      'type' => 'int', 
      'not null' => TRUE, 
      'default' => 0, 
     ) 

     ), 
     'primary key' => array('id'), 
    ); 
    return $schema; 
} 

function jira_reporting_install() { 
    // Create tables. 
    drupal_install_schema('my_module_pending_inserts'); 
} 

function my_module_uninstall() { 
    // Remove tables. 
    drupal_uninstall_schema('my_module_pending_inserts'); 

    // Delete variables 
    variable_del('my_module_variable1'); 
    variable_del('my_module_variable2'); 
    variable_del('my_module_variable3'); 

} 

function my_module_update_2() { 
    $up = array(); 
    $tbl = array(
      'fields' => array(
       'id' => array(
        'type' => 'serial', 'not null' => TRUE 
       ), 
       'json_array_data' => array(
        'type' => 'varchar', 
        'length' => 250, 
        'not null' => True 
       ), 
       'successfully_run' => array(
         'type' => 'int' 
       ), 
       'date_created' => array(
         'type' => 'int' 
       ), 
       'date_updated' => array(
         'type' => 'int' 
       ), 
      ), 
      'primary key' => array('id'), 
     ); 


    db_create_table(&$up, 'my_module_pending_inserts', $tbl); 
    return $up; 
} 
+0

путь удаления сделать вы имеете в виду отключить, а затем удалить? попробуйте некоторые отладочные символы в hook_install –

+0

Здравствуйте, Да, когда я деинсталлирую, я отключу, а затем удалю. Я попытался выполнить отладку в hook_install. $ schema = drupal_get_schema_unprocessed ($ module); также возвращается как пустой массив – jason

ответ

0

никогда не возражает, это была опечатка в моем имени _schema