You are here

function uc_flatrate_schema in Ubercart 7.3

Same name and namespace in other branches
  1. 6.2 shipping/uc_flatrate/uc_flatrate.install \uc_flatrate_schema()

Implements hook_schema().

File

shipping/uc_flatrate/uc_flatrate.install, line 11
Install, update and uninstall functions for the uc_flatrate module.

Code

function uc_flatrate_schema() {
  $schema = array();
  $schema['uc_flatrate_products'] = array(
    'description' => 'Stores product information for quantity-based shipping quotes methods.',
    'fields' => array(
      'vid' => array(
        'description' => 'The {uc_products}.vid.',
        'type' => 'int',
        'unsigned' => TRUE,
        'not null' => TRUE,
        'default' => 0,
      ),
      'nid' => array(
        'description' => 'The {uc_products}.nid.',
        'type' => 'int',
        'unsigned' => TRUE,
        'not null' => TRUE,
        'default' => 0,
      ),
      'mid' => array(
        'description' => 'The {uc_flatrate_methods}.mid.',
        'type' => 'int',
        'unsigned' => TRUE,
        'not null' => TRUE,
        'default' => 0,
      ),
      'rate' => array(
        'description' => 'The rate multiplier, in the store default currency, per each of this product in the shipment.',
        'type' => 'numeric',
        'precision' => 16,
        'scale' => 5,
        'not null' => FALSE,
      ),
    ),
    'primary key' => array(
      'vid',
      'mid',
    ),
    'foreign keys' => array(
      'uc_products' => array(
        'table' => 'uc_products',
        'columns' => array(
          'nid' => 'nid',
          'vid' => 'vid',
        ),
      ),
      'uc_flatrate_methods' => array(
        'table' => 'uc_flatrate_methods',
        'columns' => array(
          'mid' => 'mid',
        ),
      ),
    ),
  );
  $schema['uc_flatrate_methods'] = array(
    'description' => 'Stores quantity-based shipping quotes method information.',
    'fields' => array(
      'mid' => array(
        'description' => 'Primary key: The shipping quote method ID.',
        'type' => 'serial',
        'unsigned' => TRUE,
        'not null' => TRUE,
      ),
      'title' => array(
        'description' => 'The method title, displayed on administration pages.',
        'type' => 'varchar',
        'length' => 255,
        'not null' => TRUE,
        'default' => '',
      ),
      'label' => array(
        'description' => 'The user-facing label of the shipping method.',
        'type' => 'varchar',
        'length' => 255,
        'not null' => TRUE,
        'default' => '',
      ),
      'base_rate' => array(
        'description' => 'The amount of shipping cost before product quantity is applied.',
        'type' => 'numeric',
        'precision' => 16,
        'scale' => 5,
        'not null' => TRUE,
        'default' => 0.0,
      ),
      'product_rate' => array(
        'description' => 'The default rate multiplier, in the store default currency, per product in the shipment.',
        'type' => 'numeric',
        'precision' => 16,
        'scale' => 5,
        'not null' => TRUE,
        'default' => 0.0,
      ),
    ),
    'primary key' => array(
      'mid',
    ),
  );
  return $schema;
}