91 lines
2.2 KiB
Plaintext
91 lines
2.2 KiB
Plaintext
<?php
|
|
|
|
/**
|
|
* @file
|
|
* Installation functions for History module.
|
|
*/
|
|
|
|
use Drupal\Core\Database\Database;
|
|
|
|
/**
|
|
* Implements hook_schema().
|
|
*/
|
|
function history_schema() {
|
|
$schema['history'] = [
|
|
'description' => 'A record of which {users} have read which {node}s.',
|
|
'fields' => [
|
|
'uid' => [
|
|
'description' => 'The {users}.uid that read the {node} nid.',
|
|
'type' => 'int',
|
|
'not null' => TRUE,
|
|
'default' => 0,
|
|
],
|
|
'nid' => [
|
|
'description' => 'The {node}.nid that was read.',
|
|
'type' => 'int',
|
|
'unsigned' => TRUE,
|
|
'not null' => TRUE,
|
|
'default' => 0,
|
|
],
|
|
'timestamp' => [
|
|
'description' => 'The Unix timestamp at which the read occurred.',
|
|
'type' => 'int',
|
|
'not null' => TRUE,
|
|
'default' => 0,
|
|
],
|
|
],
|
|
'primary key' => ['uid', 'nid'],
|
|
'indexes' => [
|
|
'nid' => ['nid'],
|
|
],
|
|
];
|
|
|
|
return $schema;
|
|
}
|
|
|
|
/**
|
|
* Change {history}.nid to an unsigned int in order to match {node}.nid.
|
|
*/
|
|
function history_update_8101() {
|
|
$schema = Database::getConnection()->schema();
|
|
$schema->dropPrimaryKey('history');
|
|
$schema->dropIndex('history', 'nid');
|
|
$schema->changeField('history', 'nid', 'nid', [
|
|
'description' => 'The {node}.nid that was read.',
|
|
'type' => 'int',
|
|
'unsigned' => TRUE,
|
|
'not null' => TRUE,
|
|
'default' => 0,
|
|
]);
|
|
$schema->addPrimaryKey('history', ['uid', 'nid']);
|
|
$spec = [
|
|
'description' => 'A record of which {users} have read which {node}s.',
|
|
'fields' => [
|
|
'uid' => [
|
|
'description' => 'The {users}.uid that read the {node} nid.',
|
|
'type' => 'int',
|
|
'not null' => TRUE,
|
|
'default' => 0,
|
|
],
|
|
'nid' => [
|
|
'description' => 'The {node}.nid that was read.',
|
|
'type' => 'int',
|
|
'unsigned' => TRUE,
|
|
'not null' => TRUE,
|
|
'default' => 0,
|
|
],
|
|
'timestamp' => [
|
|
'description' => 'The Unix timestamp at which the read occurred.',
|
|
'type' => 'int',
|
|
'not null' => TRUE,
|
|
'default' => 0,
|
|
],
|
|
],
|
|
'primary key' => ['uid', 'nid'],
|
|
'indexes' => [
|
|
'nid' => ['nid'],
|
|
],
|
|
];
|
|
$schema->addIndex('history', 'nid', ['nid'], $spec);
|
|
}
|