Same name in other branches
- 7.x-1.x advagg.install \advagg_schema()
Implements hook_schema().
5 calls to advagg_schema()
- advagg_install in ./
advagg.install - Implements hook_install().
- advagg_update_7200 in ./
advagg.install - Upgrade AdvAgg previous versions (6.x-1.x and 7.x-1.x) to 7.x-2.x.
- advagg_update_7206 in ./
advagg.install - Update the schema making the varchar columns utf8_bin in MySQL.
- advagg_update_7207 in ./
advagg.install - Update schema making the varchar columns char. Change utf8_bin to ascii_bin.
- advagg_update_7209 in ./
advagg.install - Update schema making it match the definition.
File
-
./
advagg.install, line 156
Code
function advagg_schema() {
// Create cache tables.
$schema['cache_advagg_aggregates'] = drupal_get_schema_unprocessed('system', 'cache');
$schema['cache_advagg_aggregates']['fields']['cid']['binary'] = TRUE;
$schema['cache_advagg_aggregates']['description'] = 'Cache table for Advanced CSS/JS Aggregation. Used to keep a cache of the CSS and JS HTML tags.';
$schema['cache_advagg_info'] = drupal_get_schema_unprocessed('system', 'cache');
$schema['cache_advagg_info']['fields']['cid']['binary'] = TRUE;
$schema['cache_advagg_info']['description'] = 'Cache table for Advanced CSS/JS Aggregation. Used to keep a cache of the db and file info.';
// Create database tables.
$schema['advagg_files'] = array(
'description' => 'Files used in CSS/JS aggregation.',
'fields' => array(
'filename' => array(
'description' => 'Path and filename of the file relative to Drupal webroot.',
'type' => 'text',
'size' => 'normal',
'not null' => TRUE,
),
'filename_hash' => array(
'description' => 'Hash of path and filename. Used to join tables.',
'type' => 'char',
'length' => 43,
'not null' => TRUE,
'default' => '',
'binary' => TRUE,
'collation' => 'ascii_bin',
'charset' => 'ascii',
'mysql_character_set' => 'ascii',
),
'content_hash' => array(
'description' => 'Hash of the file content. Used to see if the file has changed.',
'type' => 'char',
'length' => 43,
'not null' => FALSE,
'default' => '',
'binary' => TRUE,
'collation' => 'ascii_bin',
'charset' => 'ascii',
'mysql_character_set' => 'ascii',
),
'filetype' => array(
'description' => 'Filetype.',
'type' => 'varchar',
'length' => 8,
'not null' => TRUE,
'default' => '',
'binary' => TRUE,
),
'filesize' => array(
'description' => 'The file size in bytes.',
'type' => 'int',
'not null' => TRUE,
'default' => 0,
),
'linecount' => array(
'description' => 'The number of lines in the file.',
'type' => 'int',
'not null' => TRUE,
'default' => 0,
),
'mtime' => array(
'description' => 'The time the file was last modified.',
'type' => 'int',
'not null' => TRUE,
'default' => 0,
),
'changes' => array(
'description' => 'This is incremented every time a file changes.',
'type' => 'int',
'not null' => TRUE,
'default' => 0,
),
'filesize_processed' => array(
'description' => 'The file size in bytes after minification and compression.',
'type' => 'int',
'not null' => TRUE,
'default' => 0,
),
'use_strict' => array(
'description' => 'If 1 then the js file starts with "use strict";. If 0 then it does not.',
'type' => 'int',
'not null' => TRUE,
'default' => 0,
),
),
'indexes' => array(
'content_hash' => array(
'content_hash',
),
'filetype' => array(
'filetype',
),
'filesize' => array(
'filesize',
),
'use_strict' => array(
'use_strict',
),
),
'primary key' => array(
'filename_hash',
),
);
$schema['advagg_aggregates'] = array(
'description' => 'What files are used in what aggregates.',
'fields' => array(
'aggregate_filenames_hash' => array(
'description' => 'Hash of the aggregates list of files. Keep track of what files are in the aggregate.',
'type' => 'char',
'length' => 43,
'not null' => TRUE,
'default' => '',
'binary' => TRUE,
'collation' => 'ascii_bin',
'charset' => 'ascii',
'mysql_character_set' => 'ascii',
),
'filename_hash' => array(
'description' => 'Hash of path and filename.',
'type' => 'char',
'length' => 43,
'not null' => TRUE,
'default' => '',
'binary' => TRUE,
'collation' => 'ascii_bin',
'charset' => 'ascii',
'mysql_character_set' => 'ascii',
),
'porder' => array(
'description' => 'Processing order.',
'type' => 'int',
'not null' => TRUE,
'default' => 0,
),
'settings' => array(
'description' => 'Extra data about this file and how it is used in this aggregate.',
'type' => 'blob',
'not null' => TRUE,
'size' => 'big',
'translatable' => TRUE,
'serialize' => TRUE,
),
),
'indexes' => array(
'porder' => array(
'porder',
),
'filename_hash' => array(
'filename_hash',
),
'aggregate_filenames_hash_porder' => array(
'aggregate_filenames_hash',
'porder',
),
),
'primary key' => array(
'aggregate_filenames_hash',
'filename_hash',
),
);
$schema['advagg_aggregates_versions'] = array(
'description' => 'What files are used in what aggregates.',
'fields' => array(
'aggregate_filenames_hash' => array(
'description' => 'Hash of the aggregates list of files. Keep track of what files are in the aggregate.',
'type' => 'char',
'length' => 43,
'not null' => TRUE,
'default' => '',
'binary' => TRUE,
'collation' => 'ascii_bin',
'charset' => 'ascii',
'mysql_character_set' => 'ascii',
),
'aggregate_contents_hash' => array(
'description' => 'Hash of all content_hashes in this aggregate. Simple Version control of the aggregate.',
'type' => 'char',
'length' => 43,
'not null' => TRUE,
'default' => '',
'binary' => TRUE,
'collation' => 'ascii_bin',
'charset' => 'ascii',
'mysql_character_set' => 'ascii',
),
'atime' => array(
'description' => 'Last access time for this version of the aggregate. Updated every 12 hours.',
'type' => 'int',
'not null' => TRUE,
'default' => 0,
),
'root' => array(
'description' => 'If 1 then it is a root aggregate. 0 means not root aggregate.',
'type' => 'int',
'not null' => TRUE,
'default' => 0,
),
),
'indexes' => array(
'root' => array(
'root',
),
'atime' => array(
'atime',
),
'root_atime' => array(
'root',
'atime',
),
),
'primary key' => array(
'aggregate_filenames_hash',
'aggregate_contents_hash',
),
);
// Copy the variable table and change a couple of things.
$schema['advagg_aggregates_hashes'] = drupal_get_schema_unprocessed('system', 'variable');
$schema['advagg_aggregates_hashes']['fields']['hash'] = $schema['advagg_aggregates_hashes']['fields']['name'];
$schema['advagg_aggregates_hashes']['fields']['hash']['length'] = 255;
$schema['advagg_aggregates_hashes']['fields']['hash']['description'] = 'The name of the hash.';
$schema['advagg_aggregates_hashes']['fields']['hash']['binary'] = TRUE;
$schema['advagg_aggregates_hashes']['fields']['settings']['description'] = 'The settings associated with this hash.';
$schema['advagg_aggregates_hashes']['fields']['settings'] = $schema['advagg_aggregates_hashes']['fields']['value'];
$schema['advagg_aggregates_hashes']['description'] = 'Key value pairs created by AdvAgg. Stores settings used at the time that the aggregate was created.';
$schema['advagg_aggregates_hashes']['primary key'][0] = 'hash';
unset($schema['advagg_aggregates_hashes']['fields']['name'], $schema['advagg_aggregates_hashes']['fields']['value']);
return $schema;
}