function rooms_availability_schema in Rooms - Drupal Booking for Hotels, B&Bs and Vacation Rentals 7
Implements hook_schema().
File
- modules/
rooms_availability/ rooms_availability.install, line 13 - Install for Rooms Availability module - sets up the main Rooms Availability table
Code
function rooms_availability_schema() {
$schema = array();
$schema['rooms_availability'] = array(
'description' => 'The main table holiding availability information',
'fields' => array(
'unit_id' => array(
'description' => 'Identifier for a room.',
'type' => 'int',
'unsigned' => TRUE,
'not null' => TRUE,
),
'year' => array(
'description' => 'The calendar year for which this availability row is relevant',
'type' => 'int',
'not null' => TRUE,
'default' => '0',
),
'month' => array(
'description' => 'The month for which this availability row is relevant',
'type' => 'int',
'not null' => TRUE,
'default' => '0',
),
'd1' => array(
'description' => 'Month Day 1',
'type' => 'int',
'not null' => TRUE,
'default' => '0',
),
'd2' => array(
'description' => 'Month Day 2',
'type' => 'int',
'not null' => TRUE,
'default' => '0',
),
'd3' => array(
'description' => 'Month Day 3',
'type' => 'int',
'not null' => TRUE,
'default' => '0',
),
'd4' => array(
'description' => 'Month Day 4',
'type' => 'int',
'not null' => TRUE,
'default' => '0',
),
'd5' => array(
'description' => 'Month Day 5',
'type' => 'int',
'not null' => TRUE,
'default' => '0',
),
'd6' => array(
'description' => 'Month Day 6',
'type' => 'int',
'not null' => TRUE,
'default' => '0',
),
'd7' => array(
'description' => 'Month Day 7',
'type' => 'int',
'not null' => TRUE,
'default' => '0',
),
'd8' => array(
'description' => 'Month Day 8',
'type' => 'int',
'not null' => TRUE,
'default' => '0',
),
'd9' => array(
'description' => 'Month Day 9',
'type' => 'int',
'not null' => TRUE,
'default' => '0',
),
'd10' => array(
'description' => 'Month Day 10',
'type' => 'int',
'not null' => TRUE,
'default' => '0',
),
'd11' => array(
'description' => 'Month Day 11',
'type' => 'int',
'not null' => TRUE,
'default' => '0',
),
'd12' => array(
'description' => 'Month Day 12',
'type' => 'int',
'not null' => TRUE,
'default' => '0',
),
'd13' => array(
'description' => 'Month Day 13',
'type' => 'int',
'not null' => TRUE,
'default' => '0',
),
'd14' => array(
'description' => 'Month Day 14',
'type' => 'int',
'not null' => TRUE,
'default' => '0',
),
'd15' => array(
'description' => 'Month Day 15',
'type' => 'int',
'not null' => TRUE,
'default' => '0',
),
'd16' => array(
'description' => 'Month Day 16',
'type' => 'int',
'not null' => TRUE,
'default' => '0',
),
'd17' => array(
'description' => 'Month Day 17',
'type' => 'int',
'not null' => TRUE,
'default' => '0',
),
'd18' => array(
'description' => 'Month Day 18',
'type' => 'int',
'not null' => TRUE,
'default' => '0',
),
'd19' => array(
'description' => 'Month Day 19',
'type' => 'int',
'not null' => TRUE,
'default' => '0',
),
'd20' => array(
'description' => 'Month Day 20',
'type' => 'int',
'not null' => TRUE,
'default' => '0',
),
'd21' => array(
'description' => 'Month Day 21',
'type' => 'int',
'not null' => TRUE,
'default' => '0',
),
'd22' => array(
'description' => 'Month Day 22',
'type' => 'int',
'not null' => TRUE,
'default' => '0',
),
'd23' => array(
'description' => 'Month Day 23',
'type' => 'int',
'not null' => TRUE,
'default' => '0',
),
'd24' => array(
'description' => 'Month Day 24',
'type' => 'int',
'not null' => TRUE,
'default' => '0',
),
'd25' => array(
'description' => 'Month Day 25',
'type' => 'int',
'not null' => TRUE,
'default' => '0',
),
'd26' => array(
'description' => 'Month Day 26',
'type' => 'int',
'not null' => TRUE,
'default' => '0',
),
'd27' => array(
'description' => 'Month Day 27',
'type' => 'int',
'not null' => TRUE,
'default' => '0',
),
'd28' => array(
'description' => 'Month Day 28',
'type' => 'int',
'not null' => TRUE,
'default' => '0',
),
'd29' => array(
'description' => 'Month Day 29',
'type' => 'int',
'not null' => TRUE,
'default' => '0',
),
'd30' => array(
'description' => 'Month Day 30',
'type' => 'int',
'not null' => TRUE,
'default' => '0',
),
'd31' => array(
'description' => 'Month Day 31',
'type' => 'int',
'not null' => TRUE,
'default' => '0',
),
),
'indexes' => array(
'unit_id' => array(
'unit_id',
),
'year' => array(
'year',
),
'month' => array(
'month',
),
),
'unique keys' => array(
'month_key' => array(
'unit_id',
'year',
'month',
),
),
'foreign keys' => array(
'unit_id' => array(
'table' => 'rooms_units',
'columns' => array(
'unit_id' => 'unit_id',
),
),
),
);
$schema['rooms_booking_locks'] = array(
'description' => 'Booking states held in this table can be set to lock - so they cannot be deleted',
'fields' => array(
'unit_id' => array(
'description' => 'Identifier for a booking unit.',
'type' => 'int',
'unsigned' => TRUE,
'not null' => TRUE,
),
'state' => array(
'description' => 'The state for a booking unit.',
'type' => 'int',
'not null' => TRUE,
'default' => '0',
),
'locked' => array(
'description' => 'Whether the state is locked or not',
'type' => 'int',
'not null' => TRUE,
'default' => '1',
),
),
);
return $schema;
}