Catch existing base table.
authorJan Schneider <jan@horde.org>
Thu, 23 Dec 2010 16:19:24 +0000 (17:19 +0100)
committerJan Schneider <jan@horde.org>
Thu, 23 Dec 2010 16:20:28 +0000 (17:20 +0100)
framework/Alarm/migration/Horde/Alarm/1_horde_alarms_table.php

index cbe339a..23659e3 100644 (file)
@@ -3,26 +3,28 @@ 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();
+        if (!in_array('horde_alarms', $this->tables())) {
+            $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'));
+            $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()