2019-05-02 18:17:27 -04:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2017-08-31 00:06:56 -04:00
|
|
|
class AddTopicCustomFields < ActiveRecord::Migration[4.2]
|
2014-04-25 12:24:22 -04:00
|
|
|
def change
|
|
|
|
create_table :topic_custom_fields do |t|
|
|
|
|
t.integer :topic_id, null: false
|
|
|
|
t.string :name, limit: 256, null: false
|
|
|
|
t.text :value
|
2017-08-07 11:48:36 -04:00
|
|
|
t.timestamps null: false
|
2014-04-25 12:24:22 -04:00
|
|
|
end
|
|
|
|
|
|
|
|
add_index :topic_custom_fields, [:topic_id, :name]
|
|
|
|
|
|
|
|
# migrate meta_data into custom fields
|
|
|
|
execute <<-SQL
|
|
|
|
INSERT INTO topic_custom_fields(topic_id, name, value)
|
|
|
|
SELECT id, (each(meta_data)).key, (each(meta_data)).value
|
|
|
|
FROM topics WHERE meta_data <> ''
|
|
|
|
SQL
|
|
|
|
|
|
|
|
remove_column :topics, :meta_data
|
|
|
|
end
|
|
|
|
end
|