Module: Fx::Sequence::Statements

Defined in:
lib/fx/sequence/statements.rb

Instance Method Summary collapse

Instance Method Details

#create_sequence(name, **options) ⇒ Object

Raises:

  • (ArgumentError)


6
7
8
9
10
11
12
13
14
15
16
# File 'lib/fx/sequence/statements.rb', line 6

def create_sequence(name, **options)
  version = options.fetch(:version, 1)
  sql_definition = options[:sql_definition]

  raise(ArgumentError, 'version or sql_definition must be specified') if version.nil? && sql_definition.nil?

  sql_definition = sql_definition.strip_heredoc if sql_definition
  sql_definition ||= Fx::Sequence::Definition.sequence(name: name, version: version).to_sql

  Fx::Sequence.database.create_sequence(sql_definition)
end

#drop_sequence(name, _ = {}) ⇒ Object



18
19
20
# File 'lib/fx/sequence/statements.rb', line 18

def drop_sequence(name, _ = {})
  Fx::Sequence.database.drop_sequence(name)
end