Преглед на файлове

- query name is now a varchar(60)
- hook_update(6000) now implemented and operational

Frederic G. Marand преди 15 години
родител
ревизия
1108db49e1
променени са 1 файла, в които са добавени 52 реда и са изтрити 5 реда
  1. 52 5
      qbf.install

+ 52 - 5
qbf.install

@@ -1,5 +1,5 @@
 <?php
-// $Id: qbf.install,v 1.1.4.4 2009-03-19 17:26:22 marand Exp $
+// $Id: qbf.install,v 1.1.4.5 2009-03-22 14:31:27 marand Exp $
 /**
  * @file
  * QBF module - installer
@@ -55,7 +55,7 @@ function qbf_schema()
         (
         'description' => t('Query name'),
         'type'        => 'varchar',
-        'length'      => 40,
+        'length'      => 60,
         'not null'    => TRUE,
         'default'     => '',
         ),
@@ -184,13 +184,60 @@ function qbf_update_5000()
 /**
  * Implement hook_update_N().
  *
- * No data structure change from 5000 to 6000, but we need a 6xxx schema version.
+ * 5000 to 6000
+ * - new "type" column
+ * - "name" varchar(40)->varchar(60)
+ * - "qid" int->serial
  *
  * @ingroup hooks
  * @return array
  */
 function qbf_update_6000()
   {
-  // @todo convert to 6.x schema
-  return array();
+  $ret = array();
+
+  db_drop_primary_key($ret, QBF_TABLE_NAME);
+  db_drop_index($ret, QBF_TABLE_NAME, 'query_updated');
+  db_drop_index($ret, QBF_TABLE_NAME, 'query_created');
+  db_drop_index($ret, QBF_TABLE_NAME, 'query_per_user');
+
+  db_add_field($ret, QBF_TABLE_NAME, 'type', array
+    (
+    'description' => t('Query type'),
+    'type'        => 'varchar',
+    'length'      => 20,
+    'not null'    => TRUE,
+    'default'     => '',
+    'initial'     => 'job_form', // Version 5 was bound to the OSInet job search
+    ));
+
+  db_change_field($ret, QBF_TABLE_NAME, 'name', 'name',
+    array
+      (
+      'type'      => 'varchar',
+      'length'    => 60, // was 40
+      )
+    );
+
+  db_change_field($ret, QBF_TABLE_NAME, 'qid', 'qid',
+    array
+      (
+      'type'      => 'serial',
+      ),
+    array
+      (
+      'primary key' => array('qid'),
+
+      'indexes' => array
+        (
+        'query_updated'  => array('updated'),
+        'query_created'  => array('created'),
+        'query_per_user' => array('uid', 'type'),
+        ),
+
+      'unique keys' => array(),
+      )
+    );
+
+  return $ret;
   }