function prod_monitor_schema in Production check & Production monitor 6
Same name and namespace in other branches
- 7 prod_monitor/prod_monitor.install \prod_monitor_schema()
Implementation of hook_schema().
2 calls to prod_monitor_schema()
- prod_monitor_update_6101 in prod_monitor/
prod_monitor.install - Update 6101 - Add new table to store module data.
- prod_monitor_update_6104 in prod_monitor/
prod_monitor.install - Update 6104 - Add new table to store performance data.
File
- prod_monitor/
prod_monitor.install, line 6
Code
function prod_monitor_schema() {
return array(
'prod_monitor_sites' => array(
'description' => 'Holds all sites and data monitored by Production monitor.',
'fields' => array(
'id' => array(
'description' => 'The primary identifier for a site.',
'type' => 'serial',
'unsigned' => TRUE,
'not null' => TRUE,
),
'url' => array(
'description' => 'URL of the website to monitor.',
'type' => 'text',
'size' => 'normal',
'default' => NULL,
),
'settings' => array(
'description' => 'All settings related to the site.',
'type' => 'text',
'size' => 'medium',
'default' => NULL,
),
'data' => array(
'description' => 'All data collected through XMLRPC in serialized form.',
'type' => 'text',
'size' => 'medium',
'default' => NULL,
),
'added' => array(
'description' => 'The Unix timestamp when the site was added.',
'type' => 'int',
'not null' => TRUE,
'default' => 0,
),
'lastupdate' => array(
'description' => 'The Unix timestamp when the data was most recently updated.',
'type' => 'int',
'not null' => TRUE,
'default' => 0,
),
),
'primary key' => array(
'id',
),
),
'prod_monitor_site_modules' => array(
'description' => 'Holds all retrieved module data for a specific site.',
'fields' => array(
'id' => array(
'description' => 'The primary identifier for a site.',
'type' => 'int',
'unsigned' => TRUE,
'not null' => TRUE,
),
'projects' => array(
'description' => 'All modules installed on the remote site.',
'type' => 'text',
'size' => 'medium',
'default' => NULL,
),
'sitekey' => array(
'description' => 'The unique key for the site.',
'type' => 'varchar',
'length' => 128,
'not null' => TRUE,
'default' => '',
),
'lastfetch' => array(
'description' => 'The Unix timestamp when the data was most recently retrieved from the remote site.',
'type' => 'int',
'not null' => TRUE,
'default' => 0,
),
'available' => array(
'description' => 'All module updates available for the remote site.',
'type' => 'text',
'size' => 'medium',
'default' => NULL,
),
'updates' => array(
'description' => '0 = unknown, 1 = no updates, 2 = regular updates, 3 = security updates.',
'type' => 'int',
'size' => 'tiny',
'unsigned' => TRUE,
'not null' => TRUE,
'default' => 0,
),
'lastupdate' => array(
'description' => 'The Unix timestamp of the most recent module update check.',
'type' => 'int',
'not null' => TRUE,
'default' => 0,
),
),
'foreign keys' => array(
'prod_monitor_sites' => array(
'table' => 'prod_monitor_sites',
'columns' => array(
'id' => 'id',
),
),
),
'primary key' => array(
'id',
),
),
'prod_monitor_site_performance' => array(
'description' => 'Holds all retrieved performance data for a specific site.',
'fields' => array(
'id' => array(
'description' => 'The primary identifier for a site.',
'type' => 'int',
'unsigned' => TRUE,
'not null' => TRUE,
),
'module' => array(
'description' => 'The module that reported the performance data.',
'type' => 'varchar',
'length' => 255,
'not null' => TRUE,
),
'data' => array(
'description' => 'The actual performance data.',
'type' => 'text',
'size' => 'medium',
'default' => NULL,
),
'annotation' => array(
'description' => 'A short annotation to this specific dataset.',
'type' => 'varchar',
'length' => 255,
'default' => NULL,
),
'fetched' => array(
'description' => 'The Unix timestamp when the data was retrieved from the remote site.',
'type' => 'int',
'not null' => TRUE,
'default' => 0,
),
),
'foreign keys' => array(
'prod_monitor_sites' => array(
'table' => 'prod_monitor_sites',
'columns' => array(
'id' => 'id',
),
),
),
'primary key' => array(
'id',
'module',
'fetched',
),
),
);
}