class BazaMigrations::Commands::AddIndex
Public Class Methods
new(table_name, columns, args)
click to toggle source
# File lib/baza_migrations/commands/add_index.rb, line 2 def initialize(table_name, columns, args) @table_name = table_name @columns = columns @args = args end
Public Instance Methods
changed_rollback_sql()
click to toggle source
# File lib/baza_migrations/commands/add_index.rb, line 25 def changed_rollback_sql ["DROP INDEX `#{@db.escape_column(index_name)}`"] end
sql()
click to toggle source
# File lib/baza_migrations/commands/add_index.rb, line 8 def sql sql = "CREATE" sql << " UNIQUE" if @args[:unique] sql << " INDEX `#{@db.escape_column(index_name)}` ON `#{@db.escape_table(@table_name)}` (" first = true columns_as_array.each do |column| sql << ", " unless first first = false if first sql << "`#{column}`" end sql << ")" [sql] end
Private Instance Methods
columns_as_array()
click to toggle source
# File lib/baza_migrations/commands/add_index.rb, line 31 def columns_as_array return @columns if @columns.is_a?(Array) [@columns] end
index_name()
click to toggle source
# File lib/baza_migrations/commands/add_index.rb, line 36 def index_name name = "index_#{@table_name}_on_" first = true columns_as_array.each do |column| name << "_and_" unless first first = false if first name << column.to_s end name end