Use singular "migration/".
authorJan Schneider <jan@horde.org>
Mon, 17 May 2010 12:05:03 +0000 (14:05 +0200)
committerJan Schneider <jan@horde.org>
Mon, 17 May 2010 12:11:26 +0000 (14:11 +0200)
Install migration scripts using data role and full package path.

content/migration/1_rampage_base_tables.php [new file with mode: 0644]
content/migration/2_rampage_tag_tables.php [new file with mode: 0644]
content/migrations/1_rampage_base_tables.php [deleted file]
content/migrations/2_rampage_tag_tables.php [deleted file]
framework/Alarm/migration/Horde/Alarm/1_horde_alarms_table.php [new file with mode: 0644]
framework/Alarm/migrations/1_horde_alarms_table.php [deleted file]
framework/Alarm/package.xml
framework/Packaging/script/horde-pear-release.php
horde/bin/db_migrate

diff --git a/content/migration/1_rampage_base_tables.php b/content/migration/1_rampage_base_tables.php
new file mode 100644 (file)
index 0000000..1572e6c
--- /dev/null
@@ -0,0 +1,37 @@
+<?php
+class RampageBaseTables extends Horde_Db_Migration_Base
+{
+    public function up()
+    {
+        // rampage_types
+        $t = $this->createTable('rampage_types', array('primaryKey' => 'type_id'));
+          $t->column('type_name', 'string', array('limit' => 255, 'null' => false));
+        $t->end();
+
+        $this->addIndex('rampage_types', array('type_name'), array('name' => 'rampage_objects_type_name', 'unique' => true));
+
+
+        // rampage_objects
+        $t = $this->createTable('rampage_objects', array('primaryKey' => 'object_id'));
+          $t->column('object_name', 'string',  array('limit' => 255, 'null' => false));
+          $t->column('type_id',     'integer', array('null' => false, 'unsigned' => true));
+        $t->end();
+
+        $this->addIndex('rampage_objects', array('type_id', 'object_name'), array('name' => 'rampage_objects_type_object_name', 'unique' => true));
+
+
+        // rampage_users
+        $t = $this->createTable('rampage_users', array('primaryKey' => 'user_id'));
+          $t->column('user_name', 'string', array('limit' => 255, 'null' => false));
+        $t->end();
+
+        $this->addIndex('rampage_users', array('user_name'), array('name' => 'rampage_users_user_name', 'unique' => true));
+    }
+
+    public function down()
+    {
+        $this->dropTable('rampage_types');
+        $this->dropTable('rampage_objects');
+        $this->dropTable('rampage_users');
+    }
+}
diff --git a/content/migration/2_rampage_tag_tables.php b/content/migration/2_rampage_tag_tables.php
new file mode 100644 (file)
index 0000000..8f3d90d
--- /dev/null
@@ -0,0 +1,50 @@
+<?php
+class RampageTagTables extends Horde_Db_Migration_Base
+{
+    public function up()
+    {
+        // rampage_tags
+        $t = $this->createTable('rampage_tags', array('primaryKey' => 'tag_id'));
+          $t->column('tag_name', 'string', array('limit' => 255, 'null' => false));
+        $t->end();
+
+        $this->addIndex('rampage_tags', array('tag_name'), array('name' => 'rampage_tags_tag_name', 'unique' => true));
+
+
+        // rampage_tagged
+        $t = $this->createTable('rampage_tagged', array('primaryKey' => array('user_id', 'object_id', 'tag_id')));
+          $t->column('user_id',   'integer', array('null' => false, 'unsigned' => true));
+          $t->column('object_id', 'integer', array('null' => false, 'unsigned' => true));
+          $t->column('tag_id',    'integer', array('null' => false, 'unsigned' => true));
+          $t->column('created',   'datetime');
+        $t->end();
+
+        $this->addIndex('rampage_tagged', array('object_id'), array('name' => 'rampage_tagged_object_id'));
+        $this->addIndex('rampage_tagged', array('tag_id'), array('name' => 'rampage_tagged_tag_id'));
+        $this->addIndex('rampage_tagged', array('created'), array('name' => 'rampage_tagged_created'));
+
+
+        // rampage_tag_stats
+        $t = $this->createTable('rampage_tag_stats', array('primaryKey' => 'tag_id'));
+          $t->column('count', 'integer', array('unsigned' => true));
+        $t->end();
+
+
+        // rampage_user_tag_stats
+        $t = $this->createTable('rampage_user_tag_stats', array('primaryKey' => array('user_id', 'tag_id')));
+          $t->column('user_id', 'integer', array('null' => false, 'unsigned' => true));
+          $t->column('tag_id',  'integer', array('null' => false, 'unsigned' => true));
+          $t->column('count',   'integer', array('unsigned' => true));
+        $t->end();
+
+        $this->addIndex('rampage_user_tag_stats', array('tag_id'), array('name' => 'rampage_user_tag_stats_tag_id'));
+    }
+
+    public function down()
+    {
+        $this->dropTable('rampage_tags');
+        $this->dropTable('rampage_tagged');
+        $this->dropTable('rampage_tag_stats');
+        $this->dropTable('rampage_user_tag_stats');
+    }
+}
diff --git a/content/migrations/1_rampage_base_tables.php b/content/migrations/1_rampage_base_tables.php
deleted file mode 100644 (file)
index 1572e6c..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-<?php
-class RampageBaseTables extends Horde_Db_Migration_Base
-{
-    public function up()
-    {
-        // rampage_types
-        $t = $this->createTable('rampage_types', array('primaryKey' => 'type_id'));
-          $t->column('type_name', 'string', array('limit' => 255, 'null' => false));
-        $t->end();
-
-        $this->addIndex('rampage_types', array('type_name'), array('name' => 'rampage_objects_type_name', 'unique' => true));
-
-
-        // rampage_objects
-        $t = $this->createTable('rampage_objects', array('primaryKey' => 'object_id'));
-          $t->column('object_name', 'string',  array('limit' => 255, 'null' => false));
-          $t->column('type_id',     'integer', array('null' => false, 'unsigned' => true));
-        $t->end();
-
-        $this->addIndex('rampage_objects', array('type_id', 'object_name'), array('name' => 'rampage_objects_type_object_name', 'unique' => true));
-
-
-        // rampage_users
-        $t = $this->createTable('rampage_users', array('primaryKey' => 'user_id'));
-          $t->column('user_name', 'string', array('limit' => 255, 'null' => false));
-        $t->end();
-
-        $this->addIndex('rampage_users', array('user_name'), array('name' => 'rampage_users_user_name', 'unique' => true));
-    }
-
-    public function down()
-    {
-        $this->dropTable('rampage_types');
-        $this->dropTable('rampage_objects');
-        $this->dropTable('rampage_users');
-    }
-}
diff --git a/content/migrations/2_rampage_tag_tables.php b/content/migrations/2_rampage_tag_tables.php
deleted file mode 100644 (file)
index 8f3d90d..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-<?php
-class RampageTagTables extends Horde_Db_Migration_Base
-{
-    public function up()
-    {
-        // rampage_tags
-        $t = $this->createTable('rampage_tags', array('primaryKey' => 'tag_id'));
-          $t->column('tag_name', 'string', array('limit' => 255, 'null' => false));
-        $t->end();
-
-        $this->addIndex('rampage_tags', array('tag_name'), array('name' => 'rampage_tags_tag_name', 'unique' => true));
-
-
-        // rampage_tagged
-        $t = $this->createTable('rampage_tagged', array('primaryKey' => array('user_id', 'object_id', 'tag_id')));
-          $t->column('user_id',   'integer', array('null' => false, 'unsigned' => true));
-          $t->column('object_id', 'integer', array('null' => false, 'unsigned' => true));
-          $t->column('tag_id',    'integer', array('null' => false, 'unsigned' => true));
-          $t->column('created',   'datetime');
-        $t->end();
-
-        $this->addIndex('rampage_tagged', array('object_id'), array('name' => 'rampage_tagged_object_id'));
-        $this->addIndex('rampage_tagged', array('tag_id'), array('name' => 'rampage_tagged_tag_id'));
-        $this->addIndex('rampage_tagged', array('created'), array('name' => 'rampage_tagged_created'));
-
-
-        // rampage_tag_stats
-        $t = $this->createTable('rampage_tag_stats', array('primaryKey' => 'tag_id'));
-          $t->column('count', 'integer', array('unsigned' => true));
-        $t->end();
-
-
-        // rampage_user_tag_stats
-        $t = $this->createTable('rampage_user_tag_stats', array('primaryKey' => array('user_id', 'tag_id')));
-          $t->column('user_id', 'integer', array('null' => false, 'unsigned' => true));
-          $t->column('tag_id',  'integer', array('null' => false, 'unsigned' => true));
-          $t->column('count',   'integer', array('unsigned' => true));
-        $t->end();
-
-        $this->addIndex('rampage_user_tag_stats', array('tag_id'), array('name' => 'rampage_user_tag_stats_tag_id'));
-    }
-
-    public function down()
-    {
-        $this->dropTable('rampage_tags');
-        $this->dropTable('rampage_tagged');
-        $this->dropTable('rampage_tag_stats');
-        $this->dropTable('rampage_user_tag_stats');
-    }
-}
diff --git a/framework/Alarm/migration/Horde/Alarm/1_horde_alarms_table.php b/framework/Alarm/migration/Horde/Alarm/1_horde_alarms_table.php
new file mode 100644 (file)
index 0000000..cbe339a
--- /dev/null
@@ -0,0 +1,32 @@
+<?php
+class HordeAlarmsTable extends Horde_Db_Migration_Base
+{
+    public function up()
+    {
+        $t = $this->createTable('horde_alarms');
+        $t->column('alarm_id', 'string', array('limit' => 255, 'null' => false));
+        $t->column('alarm_uid', 'string', array('limit' => 255));
+        $t->column('alarm_start', 'datetime', array('null' => false));
+        $t->column('alarm_end', 'datetime');
+        $t->column('alarm_methods', 'string', array('limit' => 255));
+        $t->column('alarm_params', 'text');
+        $t->column('alarm_title', 'string', array('limit' => 255, 'null' => false));
+        $t->column('alarm_text', 'text');
+        $t->column('alarm_snooze', 'datetime');
+        $t->column('alarm_dismissed', 'integer', array('limit' => 1, 'null' => false, 'default' => 0));
+        $t->column('alarm_internal', 'text');
+        $t->end();
+
+        $this->addIndex('horde_alarms', array('alarm_id'));
+        $this->addIndex('horde_alarms', array('alarm_uid'));
+        $this->addIndex('horde_alarms', array('alarm_start'));
+        $this->addIndex('horde_alarms', array('alarm_end'));
+        $this->addIndex('horde_alarms', array('alarm_snooze'));
+        $this->addIndex('horde_alarms', array('alarm_dismissed'));
+    }
+
+    public function down()
+    {
+        $this->dropTable('horde_alarms');
+    }
+}
diff --git a/framework/Alarm/migrations/1_horde_alarms_table.php b/framework/Alarm/migrations/1_horde_alarms_table.php
deleted file mode 100644 (file)
index cbe339a..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-<?php
-class HordeAlarmsTable extends Horde_Db_Migration_Base
-{
-    public function up()
-    {
-        $t = $this->createTable('horde_alarms');
-        $t->column('alarm_id', 'string', array('limit' => 255, 'null' => false));
-        $t->column('alarm_uid', 'string', array('limit' => 255));
-        $t->column('alarm_start', 'datetime', array('null' => false));
-        $t->column('alarm_end', 'datetime');
-        $t->column('alarm_methods', 'string', array('limit' => 255));
-        $t->column('alarm_params', 'text');
-        $t->column('alarm_title', 'string', array('limit' => 255, 'null' => false));
-        $t->column('alarm_text', 'text');
-        $t->column('alarm_snooze', 'datetime');
-        $t->column('alarm_dismissed', 'integer', array('limit' => 1, 'null' => false, 'default' => 0));
-        $t->column('alarm_internal', 'text');
-        $t->end();
-
-        $this->addIndex('horde_alarms', array('alarm_id'));
-        $this->addIndex('horde_alarms', array('alarm_uid'));
-        $this->addIndex('horde_alarms', array('alarm_start'));
-        $this->addIndex('horde_alarms', array('alarm_end'));
-        $this->addIndex('horde_alarms', array('alarm_snooze'));
-        $this->addIndex('horde_alarms', array('alarm_dismissed'));
-    }
-
-    public function down()
-    {
-        $this->dropTable('horde_alarms');
-    }
-}
index 24ddf73..5daee15 100644 (file)
@@ -13,8 +13,8 @@
   <email>jan@horde.org</email>
   <active>yes</active>
  </lead>
- <date>2010-05-07</date>
- <time>17:43:45</time>
+ <date>2010-05-17</date>
+ <time>13:58:59</time>
  <version>
   <release>0.2.0</release>
   <api>0.2.0</api>
@@ -33,6 +33,7 @@
     <dir name="Horde">
      <dir name="Alarm">
       <dir name="Handler">
+       <file name="Desktop.php" role="php" />
        <file name="Mail.php" role="php" />
        <file name="Notify.php" role="php" />
       </dir> <!-- /lib/Horde/Alarm/Handler -->
      <file name="Alarm.php" role="php" />
     </dir> <!-- /lib/Horde -->
    </dir> <!-- /lib -->
-   <dir name="migrations">
-    <file name="1_horde_alarms_table.php" role="php" />
-   </dir> <!-- /migrations -->
+   <dir name="migration">
+    <dir name="Horde">
+     <dir name="Alarm">
+      <file name="1_horde_alarms_table.php" role="data" />
+     </dir> <!-- /migration/Horde/Alarm -->
+    </dir> <!-- /migration/Horde -->
+   </dir> <!-- /migration -->
    <dir name="test">
     <dir name="Horde">
      <dir name="Alarm">
    <install as="Horde/Alarm/Null.php" name="lib/Horde/Alarm/Null.php" />
    <install as="Horde/Alarm/Object.php" name="lib/Horde/Alarm/Object.php" />
    <install as="Horde/Alarm/Sql.php" name="lib/Horde/Alarm/Sql.php" />
+   <install as="Horde/Alarm/Handler/Desktop.php" name="lib/Horde/Alarm/Handler/Desktop.php" />
    <install as="Horde/Alarm/Handler/Mail.php" name="lib/Horde/Alarm/Handler/Mail.php" />
    <install as="Horde/Alarm/Handler/Notify.php" name="lib/Horde/Alarm/Handler/Notify.php" />
+   <install as="Horde/Alarm/migration/1_horde_alarms_table.php" name="migration/Horde/Alarm/1_horde_alarms_table.php" />
    <install as="Horde/Alarm/AllTests.php" name="test/Horde/Alarm/AllTests.php" />
    <install as="Horde/Alarm/conf.php.dist" name="test/Horde/Alarm/conf.php.dist" />
    <install as="Horde/Alarm/HandlerTest.php" name="test/Horde/Alarm/HandlerTest.php" />
     <release>beta</release>
     <api>beta</api>
    </stability>
-   <date>2010-05-07</date>
+   <date>2010-05-17</date>
    <license uri="http://www.gnu.org/copyleft/lesser.html">LGPL</license>
    <notes>
 * Initial Horde 4 package.
index 02098b8..5187a6e 100755 (executable)
@@ -48,11 +48,12 @@ $package = PEAR_PackageFileManager2::importOptions(
         'include' => '*',
         'dir_roles' =>
         array(
-            'lib'     => 'php',
-            'doc'     => 'doc',
-            'example' => 'doc',
-            'script'  => 'script',
-            'test'    => 'test',
+            'lib'       => 'php',
+            'doc'       => 'doc',
+            'example'   => 'doc',
+            'script'    => 'script',
+            'test'      => 'test',
+            'migration' => 'data',
         ),
     )
 );
@@ -79,6 +80,13 @@ foreach ($files as $file) {
             $file['attribs']['name'], $components[1]
         );
         break;
+    case 'migration':
+        $components = explode('/', $components[1]);
+        array_splice($components, count($components) - 1, 0, 'migration');
+        $package->addInstallAs(
+            $file['attribs']['name'], implode('/', $components)
+        );
+        break;
     case 'script':
         $filename = basename($file['attribs']['name']);
         if (substr($filename, strlen($filename) - 4)) {
index 1a3ff53..8bb631b 100755 (executable)
@@ -40,7 +40,7 @@ if (!empty($args[1])) {
 }
 
 // Run
-$dir = $GLOBALS['registry']->get('fileroot', $app) . '/migrations/';
+$dir = $GLOBALS['registry']->get('fileroot', $app) . '/migration/';
 $logger = new Horde_Log_Logger(new Horde_Log_Handler_Stream(STDOUT));
 $migrator = new Horde_Db_Migration_Migrator($db, $logger, array('migrationsPath' => $dir, 'schemaTableName' => $app . '_schema_info'));
 try {