--- encl_remote/encl_remote.install 2007-07-02 07:24:06.000000000 +0200 +++ encl_remote/encl_remote.install 2008-05-10 17:40:13.000000000 +0200 @@ -5,32 +5,8 @@ * Implementation of hook_install(). */ function encl_remote_install() { - switch ($GLOBALS['db_type']) { - case 'mysql': - case 'mysqli': - db_query("CREATE TABLE {encl_remotes} ( - `rid` int(11) unsigned NOT NULL auto_increment, - `nid` int(11) unsigned NOT NULL, - `url` varchar(255) NOT NULL, - `mime_type` varchar(32) NOT NULL, - `size` bigint(20) unsigned default NULL, - `link_text` varchar(255) default NULL, - PRIMARY KEY (`rid`, `nid`) - ) /*!40100 DEFAULT CHARACTER SET UTF8 */ "); - break; - case 'pgsql': - db_query("CREATE TABLE {encl_remotes} ( - rid serial, - nid int NOT NULL default '0', - url varchar(255) NOT NULL, - mime_type varchar(20) NOT NULL, - size bigint unsigned default NULL, - link_text varchar(255) default NULL, - PRIMARY KEY (rid, nid) - )"); - db_query("CREATE INDEX {encl_remote_item}_fid_idx ON {encl_remote_item} (fid)"); - break; - } + // Create tables. + drupal_install_schema('encl_remotes'); $encl_remote_mime_type_extensions= array( 'mp3' => 'audio/mpeg', @@ -42,9 +18,30 @@ } /** +* Implementation of hook_schema(). +*/ +function encl_remotes_schema() { + $schema['encl_remotes'] = array( + 'fields' => array( + 'rid' => array('type' => 'serial', 'unsigned' => TRUE, 'not null' => TRUE), + 'nid' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0), + 'url' => array('type' => 'varchar', 'not null' => TRUE, 'default' => '', 'length' => 255), + 'mime_type' => array('type' => 'varchar', 'not null' => TRUE, 'default' => '', 'length' => 32), + 'size' => array('type' => 'int', 'not null' => FALSE, 'default' => NULL, 'size' => 'big'), + 'link_text' => array('type' => 'varchar', 'not null' => FALSE, 'default' => NULL, 'length' => 255) + ), + 'indexes' => array( + ), + 'primary key' => array('rid', 'nid'), + ); + + return $schema; +} + +/** * Implementation of hook_uninstall(). */ function encl_remote_uninstall() { - db_query('DROP TABLE {encl_remotes}'); + drupal_uninstall_schema('encl_remotes'); variable_del('encl_remote_mime_type_extensions'); }