You are here

function opigno_module_update_8006 in Opigno module 8

Creates badges table.

File

./opigno_module.install, line 484
Opigno module app install/update functionality.

Code

function opigno_module_update_8006() {
  $schema = \Drupal::database()
    ->schema();
  $table_name = 'opigno_module_badges';
  if (!$schema
    ->tableExists($table_name)) {
    $table = [
      'description' => 'Opigno Module Badges',
      'fields' => [
        'id' => [
          'type' => 'serial',
          'not null' => TRUE,
        ],
        'uid' => [
          'description' => 'User ID',
          'type' => 'int',
          'unsigned' => TRUE,
          'not null' => TRUE,
        ],
        'gid' => [
          'description' => 'Training ID',
          'type' => 'int',
          'unsigned' => TRUE,
          'not null' => TRUE,
        ],
        'entity_id' => [
          'description' => 'Entity ID',
          'type' => 'int',
          'unsigned' => TRUE,
          'not null' => TRUE,
        ],
        'typology' => [
          'description' => 'Typology',
          'type' => 'varchar',
          'length' => 255,
          'not null' => TRUE,
          'default' => '',
        ],
        'badges' => [
          'description' => 'Badges count',
          'type' => 'int',
          'unsigned' => TRUE,
          'not null' => TRUE,
          'default' => 0,
        ],
      ],
      'primary key' => [
        'id',
      ],
      'indexes' => [
        'uid' => [
          'uid',
        ],
        'gid' => [
          'gid',
        ],
        'entity_id' => [
          'entity_id',
        ],
        'typology' => [
          'typology',
        ],
      ],
      'foreign keys' => [
        'users' => [
          'uid' => 'uid',
        ],
        'entity_id' => [
          'entity_id',
        ],
        'typology' => [
          'typology',
        ],
      ],
    ];
    $schema
      ->createTable($table_name, $table);
  }
}