module_test.install

Same filename and directory in other branches
  1. 7.x modules/simpletest/tests/module_test.install
  2. 9 core/modules/system/tests/modules/module_test/module_test.install
  3. 8.9.x core/modules/system/tests/modules/module_test/module_test.install
  4. 10 core/modules/system/tests/modules/module_test/module_test.install

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 = module_test_schema()['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

Title Deprecated Summary
module_test_install Implements hook_install().
module_test_schema Implements hook_schema().

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.