Module: QueSchema::SchemaStatements

Defined in:
lib/que_schema/schema_statements.rb

Overview

DSL methods for schema.rb: available in ActiveRecord::Schema and ActiveRecord::Migration so that db:schema:load can execute que_define_schema.

Instance Method Summary collapse

Instance Method Details

#apply_que_scheduler_schemaObject



20
21
22
23
24
# File 'lib/que_schema/schema_statements.rb', line 20

def apply_que_scheduler_schema
  return unless defined?(Que::Scheduler::Migrations)

  Que::Scheduler::Migrations.migrate!(version: Que::Scheduler::Migrations::MAX_VERSION)
end

#que_define_schema(version:) ⇒ Object

Recreates the full Que schema for the given version by delegating to Que.migrate!. This creates tables, functions, triggers, indexes, and all other database objects that Que needs.



12
13
14
15
16
17
18
# File 'lib/que_schema/schema_statements.rb', line 12

def que_define_schema(version:)
  return unless postgresql?

  Que.connection_proc = proc { |&block| block.call(connection.raw_connection) }
  Que.migrate!(version: version.to_i)
  apply_que_scheduler_schema
end