[support] database fields not present

Thijs Hakkenberg thijs at ebrius.nl
Wed Jul 7 14:00:09 UTC 2010


  Dear List,

I am using an module 'ideal professional' for ubercart. Everything works 
well, but when an user finishes an payment, the following error is shown:

* user warning: Unknown column 'trx_id' in 'field list' query: INSERT 
INTO uc_payment_ideal (order_id, trx_id, status, received) VALUES (11, 
'0050000551913841', 'OPEN', 1278337590) in 
//public_html/modules/uc_ideal_pro/uc_ideal_pro.module on line 271.
* user warning: Unknown column 'trx_id' in 'field list' query: SELECT 
trx_id, status FROM uc_payment_ideal WHERE order_id = 11 in 
/public_html/modules/uc_ideal_pro/uc_ideal_pro.module on line 286.

I've looked in the datbase and can't find the trx_id column. The 
uc_ideal_pro.install file contains this:

function uc_ideal_pro_schema() {
   $schema = array();

   $schema['uc_payment_ideal'] = array(
     'description' => t('Logs iDEAL transaction statuses.'),
     'fields' => array(
       'order_id' => array(
         'description' => t('The Ubercart order ID.'),
         'type' => 'int',
         'unsigned' => TRUE,
         'not null' => TRUE,
         'default' => 0,
       ),
       'trx_id' => array(
         'description' => t('The iDEAL transaction ID.'),
         'type' => 'varchar',
         'length' => 16,
         'not null' => TRUE,
         'default' => 0,
       ),
       'status' => array(
         'description' => t('The iDEAL transaction status.'),
         'type' => 'varchar',
         'length' => 10,
         'not null' => TRUE,
         'default' => 'OPEN',
       ),
       'received' => array(
         'description' => t('The transaction status timestamp.'),
         'type' => 'int',
         'unsigned' => TRUE,
         'not null' => TRUE,
         'default' => 0,
       ),
     ),
     'primary key' => array('order_id'),
     'unique keys' => array(
       'vid'     => array('trx_id'),
     ),
     'indexes' => array(
       'status' => array('status', 'received'),
     ),
   );

   return $schema;
}

/**
  * Implementation of hook_install().
  */
function uc_ideal_pro_install() {
   drupal_install_schema('uc_ideal_pro');

   $t = get_t();
   db_query("INSERT INTO {uc_order_statuses} (order_status_id, title, 
state, weight, locked) VALUES ('ideal_pending', '%s', 
'payment_received', 7, 1);", $t('i\
DEAL pending'));
}

So it looks like the database fields weren't modified during install. I 
tried the update.php script, but it won't show this module. Any other 
way to modify the db?

Cheers,
Thijs Hakkenberg


More information about the support mailing list