Module: Uuidable::Migration

Defined in:
lib/uuidable/migration.rb

Overview

Module adds method to alter table migration

Instance Method Summary collapse

Instance Method Details

#add_uuid_column(table_name, opts = {}) ⇒ Object



22
23
24
25
26
27
28
29
30
31
# File 'lib/uuidable/migration.rb', line 22

def add_uuid_column(table_name, opts = {})
  index_opts = opts.delete(:index)
  index_opts = {} if index_opts == true

  column_name = opts.delete(:column_name) || COLUMN_NAME

  add_column table_name, column_name, COLUMN_TYPE, COLUMN_OPTIONS.merge(opts)

  add_uuid_index(table_name, index_opts.merge(column_name: column_name)) if index_opts
end

#add_uuid_index(table_name, opts = {}) ⇒ Object



33
34
35
36
37
# File 'lib/uuidable/migration.rb', line 33

def add_uuid_index(table_name, opts = {})
  column_name = opts.delete(:column_name) || COLUMN_NAME

  add_index table_name, column_name, INDEX_OPTIONS.merge(opts)
end