You are here

uc_flatrate.install in Ubercart 7.3

Install, update and uninstall functions for the uc_flatrate module.

File

shipping/uc_flatrate/uc_flatrate.install
View source
<?php

/**
 * @file
 * Install, update and uninstall functions for the uc_flatrate module.
 */

/**
 * Implements hook_schema().
 */
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;
}

/**
 * Implements hook_update_last_removed().
 */
function uc_flatrate_update_last_removed() {
  return 6003;
}