--- 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');
 }
