Module: ActiveRecord::ConnectionAdapters::Crate::SchemaStatements

Included in:
ActiveRecord::ConnectionAdapters::CrateAdapter
Defined in:
lib/active_record/connection_adapters/crate/schema_statements.rb

Instance Method Summary collapse

Instance Method Details

#add_index(table_name, column_name, options = {}) ⇒ Object

:nodoc:



52
53
54
55
56
57
58
59
# File 'lib/active_record/connection_adapters/crate/schema_statements.rb', line 52

def add_index(table_name, column_name, options = {}) #:nodoc:
  puts
  puts "#########"
  puts "Adding indices is currently not supported by Crate"
  puts "See issue: https://github.com/crate/crate/issues/733"
  puts "#########"
  puts
end

#initialize_schema_migrations_tableObject

overriding as Crate does not support “version primary key” syntax. Need to add the column type.



46
47
48
49
50
# File 'lib/active_record/connection_adapters/crate/schema_statements.rb', line 46

def initialize_schema_migrations_table
  unless table_exists?('schema_migrations')
    execute("CREATE TABLE schema_migrations (version string primary key INDEX using plain)")
  end
end

#primary_key(table_name) ⇒ Object



39
40
41
42
43
# File 'lib/active_record/connection_adapters/crate/schema_statements.rb', line 39

def primary_key(table_name)
  res = @connection.execute("select constraint_name from information_schema.table_constraints
where table_name = '#{quote_table_name(table_name)}' and constraint_type = 'PRIMARY_KEY'")
  res[0].try(:first).try(:first)
end

#remove_index(table_name, column_name, options = {}) ⇒ Object

:nodoc:



61
62
63
64
65
66
67
68
# File 'lib/active_record/connection_adapters/crate/schema_statements.rb', line 61

def remove_index(table_name, column_name, options = {}) #:nodoc:
  puts
  puts "#########"
  puts "Dropping indices is currently not supported by Crate"
  puts "See issue: https://github.com/crate/crate/issues/733"
  puts "#########"
  puts
end