discourse/db/migrate/20140425135354_add_topic_custom_fields.rb
2023-01-09 11:59:41 +00:00

24 lines
639 B
Ruby

# frozen_string_literal: true
class AddTopicCustomFields < ActiveRecord::Migration[4.2]
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
t.timestamps null: false
end
add_index :topic_custom_fields, %i[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