You are here

function pay_schema in Pay 7

Same name and namespace in other branches
  1. 6 pay.install \pay_schema()

Implements hook_schema().

File

./pay.install, line 12
Pay module allows for accepting payments against a node using pluggable payment backends.

Code

function pay_schema() {
  $schema['pay_form'] = array(
    'fields' => array(
      'pfid' => array(
        'type' => 'serial',
        'unsigned' => TRUE,
        'not null' => TRUE,
        'disp-width' => '10',
      ),
      'status' => array(
        'type' => 'int',
        'size' => 'tiny',
      ),
      'handler' => array(
        'type' => 'varchar',
        'length' => '100',
      ),
      'embeddable' => array(
        'type' => 'int',
        'size' => 'tiny',
        'default' => 0,
      ),
      'uid' => array(
        'type' => 'int',
        'unsigned' => TRUE,
        'not null' => TRUE,
      ),
      'title' => array(
        'type' => 'varchar',
        'length' => '100',
      ),
      'menu_path' => array(
        'type' => 'varchar',
        'length' => '100',
      ),
      'total_goal' => array(
        'type' => 'float',
        'not null' => FALSE,
        'precision' => '10',
        'scale' => '2',
      ),
      'min_amount' => array(
        'type' => 'float',
        'not null' => FALSE,
        'precision' => '10',
        'scale' => '2',
      ),
      'max_amount' => array(
        'type' => 'float',
        'not null' => FALSE,
        'precision' => '10',
        'scale' => '2',
      ),
      'currency' => array(
        'type' => 'varchar',
        'length' => '3',
      ),
      'settings' => array(
        'type' => 'text',
        'serialize' => TRUE,
      ),
    ),
    'primary key' => array(
      'pfid',
    ),
  );
  $schema['pay_transaction'] = array(
    'fields' => array(
      'pxid' => array(
        'type' => 'serial',
        'unsigned' => TRUE,
        'not null' => TRUE,
        'disp-width' => '10',
      ),
      'pfid' => array(
        'type' => 'int',
        'unsigned' => TRUE,
        'not null' => TRUE,
        'disp-width' => '10',
      ),
      'state' => array(
        'type' => 'varchar',
        'length' => 20,
        'not null' => TRUE,
        'default' => 'pending',
      ),
      'uid' => array(
        'type' => 'int',
        'unsigned' => TRUE,
        'not null' => TRUE,
      ),
      'created' => array(
        'type' => 'int',
        'not null' => TRUE,
      ),
      'completed' => array(
        'type' => 'int',
        'not null' => FALSE,
      ),
      'total' => array(
        'type' => 'float',
        'not null' => FALSE,
        'precision' => '10',
        'scale' => '2',
      ),
      'total_paid' => array(
        'type' => 'float',
        'not null' => FALSE,
        'precision' => '10',
        'scale' => '2',
      ),
      'currency' => array(
        'type' => 'varchar',
        'length' => '3',
      ),
      'notes' => array(
        'type' => 'text',
      ),
      'notes_format' => array(
        'type' => 'int',
        'size' => 'small',
      ),
      'mail' => array(
        'type' => 'varchar',
        'length' => 200,
      ),
    ),
    'primary key' => array(
      'pxid',
    ),
  );
  $schema['pay_activity'] = array(
    'fields' => array(
      'paid' => array(
        'type' => 'serial',
        'unsigned' => TRUE,
        'not null' => TRUE,
        'disp-width' => '10',
      ),
      'pxid' => array(
        'type' => 'int',
        'unsigned' => TRUE,
        'not null' => TRUE,
        'disp-width' => '10',
      ),
      'pmid' => array(
        'type' => 'int',
        'unsigned' => TRUE,
        'not null' => TRUE,
        'default' => 0,
        'disp-width' => '10',
      ),
      'uid' => array(
        'type' => 'int',
        'unsigned' => TRUE,
        'not null' => TRUE,
        'default' => 0,
        'disp-width' => '10',
      ),
      'payment_type' => array(
        'type' => 'varchar',
        'length' => '100',
        'not null' => FALSE,
      ),
      'action' => array(
        'type' => 'varchar',
        'length' => '100',
        'not null' => TRUE,
      ),
      'result' => array(
        'type' => 'int',
        'not null' => FALSE,
        'disp-width' => '11',
      ),
      'identifier' => array(
        'type' => 'varchar',
        'length' => '100',
        'not null' => FALSE,
      ),
      'total' => array(
        'type' => 'float',
        'not null' => FALSE,
        'precision' => '10',
        'scale' => '2',
      ),
      'transaction_total' => array(
        'type' => 'float',
        'not null' => FALSE,
        'precision' => '10',
        'scale' => '2',
      ),
      'timestamp' => array(
        'type' => 'int',
        'not null' => FALSE,
        'disp-width' => '11',
      ),
      'hostname' => array(
        'type' => 'varchar',
        'length' => '100',
        'not null' => FALSE,
      ),
      'data' => array(
        'type' => 'text',
        'not null' => FALSE,
        'serialize' => TRUE,
      ),
    ),
    'primary key' => array(
      'paid',
    ),
  );
  $schema['pay_method'] = array(
    'fields' => array(
      'pmid' => array(
        'type' => 'serial',
        'unsigned' => TRUE,
        'not null' => TRUE,
        'disp-width' => '10',
      ),
      'handler' => array(
        'type' => 'varchar',
        'length' => '100',
      ),
      'title' => array(
        'type' => 'varchar',
        'length' => '100',
        'not null' => FALSE,
      ),
      'description' => array(
        'type' => 'varchar',
        'length' => '255',
      ),
      'status' => array(
        'type' => 'int',
        'not null' => FALSE,
        'disp-width' => '11',
      ),
      'min_amount' => array(
        'type' => 'numeric',
        'not null' => FALSE,
        'precision' => '10',
        'scale' => '2',
      ),
      'max_amount' => array(
        'type' => 'numeric',
        'not null' => FALSE,
        'precision' => '10',
        'scale' => '2',
      ),
      'settings' => array(
        'type' => 'text',
        'not null' => FALSE,
        'serialize' => TRUE,
      ),
    ),
    'primary key' => array(
      'pmid',
    ),
  );
  $schema['pay_item'] = array(
    'fields' => array(
      'piid' => array(
        'type' => 'serial',
        'unsigned' => TRUE,
        'not null' => TRUE,
      ),
      'handler' => array(
        'type' => 'varchar',
        'length' => '100',
      ),
      'title' => array(
        'type' => 'varchar',
        'length' => '100',
        'not null' => FALSE,
      ),
      'status' => array(
        'type' => 'int',
        'not null' => FALSE,
        'disp-width' => '11',
      ),
      'description' => array(
        'type' => 'varchar',
        'length' => '255',
      ),
      'cost' => array(
        'type' => 'numeric',
        'not null' => FALSE,
        'precision' => '10',
        'scale' => '2',
      ),
      'settings' => array(
        'type' => 'text',
        'not null' => FALSE,
        'serialize' => TRUE,
      ),
    ),
    'primary key' => array(
      'piid',
    ),
  );
  return $schema;
}