module PactBroker::DB

Constants

MIGRATIONS_DIR

Public Class Methods

check_current(database_connection, options = {}) click to toggle source
# File lib/pact_broker/db.rb, line 35
def self.check_current database_connection, options = {}
  Sequel::TimestampMigrator.check_current(database_connection, PactBroker::DB::MIGRATIONS_DIR, options)
end
connection() click to toggle source
# File lib/pact_broker/db.rb, line 18
def self.connection
  @connection
end
connection=(connection) click to toggle source
# File lib/pact_broker/db.rb, line 14
def self.connection= connection
  @connection = connection
end
each_integration_model() { |model| ... } click to toggle source
# File lib/pact_broker/db/models.rb, line 45
def self.each_integration_model
  INTEGRATIONS_TABLES.each do | model |
    yield model
  end
end
is_current?(database_connection, options = {}) click to toggle source
# File lib/pact_broker/db.rb, line 31
def self.is_current? database_connection, options = {}
  Sequel::TimestampMigrator.is_current?(database_connection, PactBroker::DB::MIGRATIONS_DIR, options)
end
mysql?() click to toggle source
# File lib/pact_broker/db.rb, line 64
def self.mysql?
  connection.adapter_scheme =~ /mysql/
end
run_data_migrations(database_connection) click to toggle source
# File lib/pact_broker/db.rb, line 27
def self.run_data_migrations database_connection
  PactBroker::DB::MigrateData.(database_connection)
end
run_migrations(database_connection, options = {}) click to toggle source
# File lib/pact_broker/db.rb, line 22
def self.run_migrations database_connection, options = {}
  Sequel.extension :migration
  Sequel::TimestampMigrator.new(database_connection, PactBroker::DB::MIGRATIONS_DIR, options).run
end
set_mysql_strict_mode_if_mysql() click to toggle source
# File lib/pact_broker/db.rb, line 60
def self.set_mysql_strict_mode_if_mysql
  connection.run("SET sql_mode='STRICT_TRANS_TABLES';") if mysql?
end
truncate(database_connection, options = {}) click to toggle source
# File lib/pact_broker/db.rb, line 39
def self.truncate database_connection, options = {}
  exceptions = options[:except] || []
  TableDependencyCalculator.call(database_connection).each do | table_name |
    if !exceptions.include?(table_name)
      begin
        database_connection[table_name].truncate
      rescue StandardError => _ex
        puts "Could not truncate table #{table_name}"
      end
    end
  end
end
validate_connection_config() click to toggle source
# File lib/pact_broker/db.rb, line 56
def self.validate_connection_config
  PactBroker::DB::ValidateEncoding.(connection)
end
version(database_connection) click to toggle source
# File lib/pact_broker/db.rb, line 52
def self.version database_connection
  PactBroker::DB::Version.call(database_connection)
end