From f9f8d4bff2990f96aa906359ad358af4e5fc3314 Mon Sep 17 00:00:00 2001 From: Chuck Hagenbuch Date: Sun, 10 Jan 2010 14:35:15 -0500 Subject: [PATCH] Migration for creating the rampage tag tables. This won't work yet; we still need support for multi-column primary keys indexes. --- content/migrations/2_rampage_tag_tables.php | 49 +++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 content/migrations/2_rampage_tag_tables.php diff --git a/content/migrations/2_rampage_tag_tables.php b/content/migrations/2_rampage_tag_tables.php new file mode 100644 index 000000000..80cc21561 --- /dev/null +++ b/content/migrations/2_rampage_tag_tables.php @@ -0,0 +1,49 @@ +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' => false)); + $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('user_id', 'object_id', 'tag_id'), array('rampage_tagged_pkey', 'primary' => true)); + + + // 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' => false)); + $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('user_id', 'tag_id'), array('rampage_user_tag_stats_pkey', 'primary' => true)); + $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'); + } +} -- 2.11.0