summaryrefslogtreecommitdiff
path: root/modules/drupal
diff options
context:
space:
mode:
Diffstat (limited to 'modules/drupal')
-rw-r--r--modules/drupal/drupal.install56
-rw-r--r--modules/drupal/drupal.schema33
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;
+}
+