module ActiveRecord::SchemaStatements

Public Instance Methods

create_collation(name, options = {}) click to toggle source

Create a collation

CREATE COLLATION [ IF NOT EXISTS ] name (

[ LOCALE = locale, ]
[ LC_COLLATE = lc_collate, ]
[ LC_CTYPE = lc_ctype, ]
[ PROVIDER = provider, ]
[ DETERMINISTIC = boolean, ]
[ VERSION = version ]

)

# File lib/active_record/pg_collation/schema_statements.rb, line 20
def create_collation(name, options = {})
  query_options = options.map {|k,v| %Q{#{k} = '#{v}'} }.join(", ")
  execute(%Q{CREATE COLLATION IF NOT EXISTS #{name} (#{query_options})}).tap {reload_type_map}
end
create_collation_from(name, existing_collation) click to toggle source

Create a collation from

CREATE COLLATION [ IF NOT EXISTS ] name FROM existing_collation

# File lib/active_record/pg_collation/schema_statements.rb, line 28
def create_collation_from(name, existing_collation)
  execute(%Q{CREATE COLLATION IF NOT EXISTS #{name} FROM "#{existing_collation}"}).tap {reload_type_map}
end
drop_collation(name, option = "RESTRICT") click to toggle source

Drop a collation

DROP COLLATION [ IF EXISTS ] name [ CASCADE | RESTRICT ]

# File lib/active_record/pg_collation/schema_statements.rb, line 35
def drop_collation(name, option = "RESTRICT")
  execute(%Q{DROP COLLATION IF EXISTS #{name} #{option}}).tap {reload_type_map}
end