From: Jan Schneider Date: Thu, 27 Jan 2011 13:31:50 +0000 (+0100) Subject: For some reason I don't have any schema_info tables for rampage/content, so check... X-Git-Url: https://git.internetallee.de/?a=commitdiff_plain;h=2dcd9b16643230d22696b4d83e8eea82917fca82;p=horde.git For some reason I don't have any schema_info tables for rampage/content, so check if tables exist already. --- diff --git a/content/migration/1_rampage_base_tables.php b/content/migration/1_rampage_base_tables.php index 1572e6cbf..482082a23 100644 --- a/content/migration/1_rampage_base_tables.php +++ b/content/migration/1_rampage_base_tables.php @@ -3,29 +3,32 @@ 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)); + $tableList = $this->tables(); + + if (!in_array('rampage_types', $tableList)) { + // 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)); + } + + if (!in_array('rampage_objects', $tableList)) { + // 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)); + } + + if (!in_array('rampage_users', $tableList)) { + // 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() diff --git a/content/migration/2_rampage_tag_tables.php b/content/migration/2_rampage_tag_tables.php index 8f3d90daf..b828230fe 100644 --- a/content/migration/2_rampage_tag_tables.php +++ b/content/migration/2_rampage_tag_tables.php @@ -3,41 +3,45 @@ 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')); + $tableList = $this->tables(); + + if (!in_array('rampage_tags', $tableList)) { + // 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)); + } + + if (!in_array('rampage_tagged', $tableList)) { + // 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')); + } + + if (!in_array('rampage_tag_stats', $tableList)) { + // rampage_tag_stats + $t = $this->createTable('rampage_tag_stats', array('primaryKey' => 'tag_id')); + $t->column('count', 'integer', array('unsigned' => true)); + $t->end(); + } + + if (!in_array('rampage_user_tag_stats', $tableList)) { + // 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()