1 class RenameMetadataAttributes < ActiveRecord::Migration
3 rename_column :metadata, :target_kind, :tail_kind
4 rename_column :metadata, :target_uuid, :tail
5 rename_column :metadata, :value, :head
6 rename_column :metadata, :key, :name
7 add_column :metadata, :head_kind, :string
8 add_index :metadata, :head
9 add_index :metadata, :head_kind
10 add_index :metadata, :tail
11 add_index :metadata, :tail_kind
12 Metadatum.where('head like ?', 'orvos#%').each do |m|
13 kind_uuid = m.head.match /^(orvos\#.*)\#([-0-9a-z]+)$/
15 m.update_attributes(head_kind: kind_uuid[1],
22 Metadatum.where('head_kind is not null and head_kind <> ? and head is not null', '').each do |m|
23 m.update_attributes(head: m.head_kind + '#' + m.head)
25 remove_index :metadata, :tail_kind
26 remove_index :metadata, :tail
27 remove_index :metadata, :head_kind
28 remove_index :metadata, :head
29 rename_column :metadata, :name, :key
30 remove_column :metadata, :head_kind
31 rename_column :metadata, :head, :value
32 rename_column :metadata, :tail, :target_uuid
33 rename_column :metadata, :tail_kind, :target_kind