module ActiveRecord::Sequence::Adapter
Public Instance Methods
check_sequences()
click to toggle source
# File lib/active_record/sequence/adapter.rb, line 6 def check_sequences select_all( 'SELECT * FROM information_schema.sequences ORDER BY sequence_name' ).to_a end
create_sequence(name, options = {})
click to toggle source
# File lib/active_record/sequence/adapter.rb, line 12 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] sql << if options[:cache] "CACHE #{options[:cache]}" else 'NOCACHE' end sql << if options[:cycle] 'CYCLE' else 'NOCYCLE' end sql << "MIN_VALUE #{options[:min_value]}" if options[:min_value] sql << "COMMENT #{quote(options[:comment].to_s)}" if options[:comment] execute(sql.join("\n")) end
drop_sequence(name)
click to toggle source
# File lib/active_record/sequence/adapter.rb, line 38 def drop_sequence(name) name = quote_column_name(name) sql = "DROP SEQUENCE IF EXISTS #{name}" execute(sql) end
recreate_sequence(name, options = {})
click to toggle source
# File lib/active_record/sequence/adapter.rb, line 44 def recreate_sequence(name, options = {}) drop_sequence(name) create_sequence(name, options) end