function bat_event_generate_minute_schema_fields in Booking and Availability Management Tools for Drupal 8
Same name and namespace in other branches
- 7 modules/bat_event/bat_event.module \bat_event_generate_minute_schema_fields()
Creates the necessary minute schema fields.
Return value
array
1 call to bat_event_generate_minute_schema_fields()
- bat_event_create_event_type_schema in modules/bat_event/ bat_event.module 
- Create 6 tables for store events of type $machine_name.
File
- modules/bat_event/ bat_event.module, line 734 
- Manage Events - Events store the EventValue of a Unit over a period of time.
Code
function bat_event_generate_minute_schema_fields() {
  $fields = [
    'unit_id' => [
      'description' => 'Identifier for a unit.',
      'type' => 'int',
      'unsigned' => TRUE,
      'not null' => TRUE,
    ],
    'year' => [
      'description' => 'The calendar year for which this availability row is relevant',
      'type' => 'int',
      'not null' => TRUE,
      'default' => '0',
    ],
    'month' => [
      'description' => 'The month for which this availability row is relevant',
      'type' => 'int',
      'not null' => TRUE,
      'default' => '0',
    ],
    'day' => [
      'description' => 'The day for which this availability row is relevant',
      'type' => 'int',
      'not null' => TRUE,
      'default' => '0',
    ],
    'hour' => [
      'description' => 'The hour for which this availability row is relevant',
      'type' => 'int',
      'not null' => TRUE,
      'default' => '0',
    ],
  ];
  for ($i = 0; $i <= 59; $i++) {
    // PHP has no clean way to get the minutes without leading zeros so setting table
    // fields names to contain the leading zeros to save strangeness in code elsewhere.
    if ($i <= 9) {
      $m = '0' . $i;
    }
    else {
      $m = $i;
    }
    $fields['m' . $m] = [
      'description' => 'M' . $m,
      'type' => 'int',
      'not null' => TRUE,
      'default' => '0',
    ];
  }
  return $fields;
}