def create_index(table_name, *columns_and_options)
if columns_and_options.last.is_a?(Hash)
opts = columns_and_options.pop
else
opts = {}
end
columns = columns_and_options.flatten
opts[:name] ||= "#{opts[:unique] ? 'unique_' : ''}index_#{table_name}_#{columns.join('_')}"
execute DataMapper::Ext::String.compress_lines("CREATE \#{opts[:unique] ? 'UNIQUE ' : '' }INDEX \#{quote_column_name(opts[:name])} ON\n\#{quote_table_name(table_name)} (\#{columns.map { |c| quote_column_name(c) }.join(', ') })\n")
end