Module: AR::Sequence::Adapter

Defined in:
lib/ar/sequence/adapter.rb

Instance Method Summary collapse

Instance Method Details

#check_sequencesObject



6
7
8
# File 'lib/ar/sequence/adapter.rb', line 6

def check_sequences
  select_all("SELECT * FROM information_schema.sequences").to_a
end

#create_sequence(name, options = {}) ⇒ Object



10
11
12
13
14
15
16
17
18
19
# File 'lib/ar/sequence/adapter.rb', line 10

def create_sequence(name, options = {})
  increment = options[:increment] || options[:step]
  name = quote_column_name(name)

  sql = ["CREATE SEQUENCE IF NOT EXISTS #{name}"]
  sql << "INCREMENT BY #{increment}" if increment
  sql << "START WITH #{options[:start]}" if options[:start]

  execute(sql.join("\n"))
end

#drop_sequence(name) ⇒ Object

Drop a sequence by its name.

drop_sequence :user_position


25
26
27
28
29
# File 'lib/ar/sequence/adapter.rb', line 25

def drop_sequence(name)
  name = quote_column_name(name)
  sql = "DROP SEQUENCE #{name}"
  execute(sql)
end