2016-12-17 16:59:11 +01:00
|
|
|
# This migration comes from acts_as_taggable_on_engine (originally 1)
|
|
|
|
class ActsAsTaggableOnMigration < ActiveRecord::Migration
|
|
|
|
def taggings
|
|
|
|
create_table :taggings do |t|
|
|
|
|
t.references :tag
|
|
|
|
|
|
|
|
# You should make sure that the column created is
|
|
|
|
# long enough to store the required class names.
|
|
|
|
t.references :taggable, polymorphic: true
|
|
|
|
t.references :tagger, polymorphic: true
|
|
|
|
|
|
|
|
# Limit is created to prevent MySQL error on index
|
|
|
|
# length for MyISAM table type: http://bit.ly/vgW2Ql
|
|
|
|
t.string :context, limit: 128
|
|
|
|
|
|
|
|
t.datetime :created_at
|
|
|
|
end
|
|
|
|
|
|
|
|
add_index :taggings, :tag_id
|
2017-04-22 20:01:47 +02:00
|
|
|
add_index :taggings, %i[taggable_id taggable_type context]
|
2016-12-17 16:59:11 +01:00
|
|
|
end
|
|
|
|
|
|
|
|
def self.up
|
2018-01-01 17:52:33 +01:00
|
|
|
# rubocop:disable Rails/CreateTableWithTimestamps
|
2016-12-17 16:59:11 +01:00
|
|
|
create_table :tags do |t|
|
|
|
|
t.string :name
|
|
|
|
end
|
2018-01-01 17:52:33 +01:00
|
|
|
# rubocop:enable Rails/CreateTableWithTimestamps
|
2016-12-17 16:59:11 +01:00
|
|
|
|
|
|
|
taggings
|
|
|
|
end
|
|
|
|
|
|
|
|
def self.down
|
|
|
|
drop_table :taggings
|
|
|
|
drop_table :tags
|
|
|
|
end
|
|
|
|
end
|