diff options
Diffstat (limited to 'modules/drupal')
-rw-r--r-- | modules/drupal/drupal.install | 56 | ||||
-rw-r--r-- | modules/drupal/drupal.schema | 33 |
2 files changed, 38 insertions, 51 deletions
diff --git a/modules/drupal/drupal.install b/modules/drupal/drupal.install index 909c539de..137b7d013 100644 --- a/modules/drupal/drupal.install +++ b/modules/drupal/drupal.install @@ -5,63 +5,17 @@ * Implementation of hook_install(). */ function drupal_install() { - switch ($GLOBALS['db_type']) { - case 'mysql': - case 'mysqli': - db_query("CREATE TABLE {client} ( - cid int unsigned NOT NULL auto_increment, - link varchar(255) NOT NULL default '', - name varchar(128) NOT NULL default '', - mail varchar(128) NOT NULL default '', - slogan longtext NOT NULL, - mission longtext NOT NULL, - users int NOT NULL default '0', - nodes int NOT NULL default '0', - version varchar(35) NOT NULL default'', - created int NOT NULL default '0', - changed int NOT NULL default '0', - PRIMARY KEY (cid) - ) /*!40100 DEFAULT CHARACTER SET UTF8 */ "); - - db_query("CREATE TABLE {client_system} ( - cid int NOT NULL default '0', - name varchar(255) NOT NULL default '', - type varchar(255) NOT NULL default '', - PRIMARY KEY (cid,name) - ) /*!40100 DEFAULT CHARACTER SET UTF8 */ "); - break; - case 'pgsql': - db_query("CREATE TABLE {client} ( - cid serial CHECK (cid >= 0), - link varchar(255) NOT NULL default '', - name varchar(128) NOT NULL default '', - mail varchar(128) NOT NULL default '', - slogan text NOT NULL, - mission text NOT NULL, - users int NOT NULL default '0', - nodes int NOT NULL default '0', - version varchar(35) NOT NULL default'', - created int NOT NULL default '0', - changed int NOT NULL default '0', - PRIMARY KEY (cid) - )"); - - db_query("CREATE TABLE {client_system} ( - cid int NOT NULL default '0', - name varchar(255) NOT NULL default '', - type varchar(255) NOT NULL default '', - PRIMARY KEY (cid,name) - )"); - break; - } + // Create tables. + drupal_install_schema('drupal'); } /** * Implementation of hook_uninstall(). */ function drupal_uninstall() { - db_query('DROP TABLE {client}'); - db_query('DROP TABLE {client_system}'); + // Remove tables. + drupal_uninstall_schema('drupal'); + variable_del('drupal_authentication_service'); variable_del('drupal_directory'); variable_del('drupal_register'); diff --git a/modules/drupal/drupal.schema b/modules/drupal/drupal.schema new file mode 100644 index 000000000..82b14d3ef --- /dev/null +++ b/modules/drupal/drupal.schema @@ -0,0 +1,33 @@ +<?php +// $Id$ + +function drupal_schema() { + $schema['client'] = array( + 'fields' => array( + 'cid' => array('type' => 'serial', 'unsigned' => TRUE, 'not null' => TRUE), + 'link' => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''), + 'name' => array('type' => 'varchar', 'length' => 128, 'not null' => TRUE, 'default' => ''), + 'mail' => array('type' => 'varchar', 'length' => 128, 'not null' => TRUE, 'default' => ''), + 'slogan' => array('type' => 'text', 'not null' => TRUE, 'size' => 'big'), + 'mission' => array('type' => 'text', 'not null' => TRUE, 'size' => 'big'), + 'users' => array('type' => 'int', 'not null' => TRUE, 'default' => 0), + 'nodes' => array('type' => 'int', 'not null' => TRUE, 'default' => 0), + 'version' => array('type' => 'varchar', 'length' => 35, 'not null' => TRUE, 'default' => ''), + 'created' => array('type' => 'int', 'not null' => TRUE, 'default' => 0), + 'changed' => array('type' => 'int', 'not null' => TRUE, 'default' => 0) + ), + 'primary key' => array('cid'), + ); + + $schema['client_system'] = array( + 'fields' => array( + 'cid' => array('type' => 'int', 'not null' => TRUE, 'default' => 0), + 'name' => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''), + 'type' => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => '') + ), + 'primary key' => array('cid', 'name'), + ); + + return $schema; +} + |