'Stock levels for Ubercart products.', 'fields' => array( 'sku' => array( 'description' => 'SKU (Stock Keeping Unit) of a product.', 'type' => 'varchar', 'length' => '255', 'not null' => TRUE, 'default' => '', ), 'nid' => array( 'description' => 'Node ID of a product.', 'type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0, ), 'active' => array( 'description' => 'Boolean flag indicating whether stock is being tracked for this product. 1 => Yes. 0 => No.', 'type' => 'int', 'size' => 'tiny', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0, ), 'stock' => array( 'description' => 'Quantity in stock.', 'type' => 'int', 'size' => 'medium', 'not null' => TRUE, 'default' => 0, ), 'threshold' => array( 'description' => 'Minimum quantity threshold level.', 'type' => 'int', 'size' => 'medium', 'not null' => TRUE, 'default' => 0, ), ), 'indexes' => array( 'nid' => array('nid'), ), 'primary key' => array('sku'), ); return $schema; } /** * Implementation of hook_install(). */ function uc_stock_install() { drupal_install_schema('uc_stock'); } /** * Implementation of hook_uninstall(). */ function uc_stock_uninstall() { drupal_uninstall_schema('uc_stock'); db_query("DELETE FROM {variable} WHERE name LIKE 'uc_stock_%%'"); variable_del('uc_stock_threshold_notification'); variable_del('uc_stock_threshold_notification_recipients'); variable_del('uc_stock_threshold_notification_subject'); variable_del('uc_stock_threshold_notification_message'); variable_del('uc_stock_threshold_notification_format'); } function uc_stock_update_6000() { $ret = array(); db_drop_index($ret, 'uc_product_stock', 'nid'); db_change_field($ret, 'uc_product_stock', 'nid', 'nid', array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0), array('indexes' => array('nid' => array('nid')))); db_change_field($ret, 'uc_product_stock', 'active', 'active', array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0)); return $ret; }