44 lines
1.1 KiB
Ruby
44 lines
1.1 KiB
Ruby
#-- encoding: UTF-8
|
|
#-- copyright
|
|
# ChiliProject is a project management system.
|
|
#
|
|
# Copyright (C) 2010-2013 the ChiliProject Team
|
|
#
|
|
# This program is free software; you can redistribute it and/or
|
|
# modify it under the terms of the GNU General Public License
|
|
# as published by the Free Software Foundation; either version 2
|
|
# of the License, or (at your option) any later version.
|
|
#
|
|
# See doc/COPYRIGHT.rdoc for more details.
|
|
#++
|
|
|
|
class ActsAsTaggableOnMigration < ActiveRecord::Migration
|
|
def self.up
|
|
create_table :tags do |t|
|
|
t.column :name, :string
|
|
end
|
|
|
|
create_table :taggings do |t|
|
|
t.column :tag_id, :integer
|
|
t.column :taggable_id, :integer
|
|
t.column :tagger_id, :integer
|
|
t.column :tagger_type, :string
|
|
|
|
# You should make sure that the column created is
|
|
# long enough to store the required class names.
|
|
t.column :taggable_type, :string
|
|
t.column :context, :string
|
|
|
|
t.column :created_at, :datetime
|
|
end
|
|
|
|
add_index :taggings, :tag_id
|
|
add_index :taggings, [:taggable_id, :taggable_type, :context]
|
|
end
|
|
|
|
def self.down
|
|
drop_table :taggings
|
|
drop_table :tags
|
|
end
|
|
end
|