function node_schema

Same name and namespace in other branches
  1. 7.x modules/node/node.install \node_schema()
  2. 9 core/modules/node/node.install \node_schema()
  3. 8.9.x core/modules/node/node.install \node_schema()
  4. 10 core/modules/node/node.install \node_schema()

Implements hook_schema().

File

core/modules/node/node.install, line 43

Code

function node_schema() {
    $schema['node_access'] = [
        'description' => 'Identifies which realm/grant pairs a user must possess in order to view, update, or delete specific nodes.',
        'fields' => [
            'nid' => [
                'description' => 'The {node}.nid this record affects.',
                'type' => 'int',
                'unsigned' => TRUE,
                'not null' => TRUE,
                'default' => 0,
            ],
            'langcode' => [
                'description' => 'The {language}.langcode of this node.',
                'type' => 'varchar_ascii',
                'length' => 12,
                'not null' => TRUE,
                'default' => '',
            ],
            'fallback' => [
                'description' => 'Boolean indicating whether this record should be used as a fallback if a language condition is not provided.',
                'type' => 'int',
                'unsigned' => TRUE,
                'not null' => TRUE,
                'default' => 1,
                'size' => 'tiny',
            ],
            'gid' => [
                'description' => "The grant ID a user must possess in the specified realm to gain this row's privileges on the node.",
                'type' => 'int',
                'unsigned' => TRUE,
                'not null' => TRUE,
                'default' => 0,
            ],
            'realm' => [
                'description' => 'The realm in which the user must possess the grant ID. Modules can define one or more realms by implementing hook_node_grants().',
                'type' => 'varchar_ascii',
                'length' => 255,
                'not null' => TRUE,
                'default' => '',
            ],
            'grant_view' => [
                'description' => 'Boolean indicating whether a user with the realm/grant pair can view this node.',
                'type' => 'int',
                'unsigned' => TRUE,
                'not null' => TRUE,
                'default' => 0,
                'size' => 'tiny',
            ],
            'grant_update' => [
                'description' => 'Boolean indicating whether a user with the realm/grant pair can edit this node.',
                'type' => 'int',
                'unsigned' => TRUE,
                'not null' => TRUE,
                'default' => 0,
                'size' => 'tiny',
            ],
            'grant_delete' => [
                'description' => 'Boolean indicating whether a user with the realm/grant pair can delete this node.',
                'type' => 'int',
                'unsigned' => TRUE,
                'not null' => TRUE,
                'default' => 0,
                'size' => 'tiny',
            ],
        ],
        'primary key' => [
            'nid',
            'gid',
            'realm',
            'langcode',
        ],
        'foreign keys' => [
            'affected_node' => [
                'table' => 'node',
                'columns' => [
                    'nid' => 'nid',
                ],
            ],
        ],
    ];
    return $schema;
}

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