You are here

module_test.install in Drupal 8

Install, update and uninstall functions for the module_test module.

File

core/modules/system/tests/modules/module_test/module_test.install
View source
<?php

/**
 * @file
 * Install, update and uninstall functions for the module_test module.
 */
use Drupal\Core\Database\Database;

/**
 * Implements hook_schema().
 */
function module_test_schema() {
  $schema['module_test'] = [
    'description' => 'Dummy table to test the behavior of hook_schema() during module installation.',
    'fields' => [
      'data' => [
        'type' => 'varchar',
        'length' => 255,
        'not null' => TRUE,
        'default' => '',
        'description' => 'An example data column for the module.',
      ],
    ],
  ];
  return $schema;
}

/**
 * Implements hook_install().
 */
function module_test_install() {
  $schema = drupal_get_module_schema('module_test', 'module_test');
  Database::getConnection()
    ->insert('module_test')
    ->fields([
    'data' => $schema['fields']['data']['type'],
  ])
    ->execute();
  if (\Drupal::state()
    ->get('module_test_install:rebuild_container')) {

    // Ensure that the container can be rebuilt during hook_install(). Doing
    // this in hook_install() is bad practice but it should not break anything.
    \Drupal::service('kernel')
      ->rebuildContainer();
  }
}

Functions

Namesort descending Description
module_test_install Implements hook_install().
module_test_schema Implements hook_schema().