Module: PactBroker::DB

Defined in:
lib/pact_broker/db.rb,
lib/pact_broker/db/clean.rb,
lib/pact_broker/db/migrate.rb,
lib/pact_broker/db/version.rb,
lib/pact_broker/tasks/clean_task.rb,
lib/pact_broker/tasks/version_task.rb,
lib/pact_broker/db/validate_encoding.rb,
lib/pact_broker/tasks/migration_task.rb

Defined Under Namespace

Classes: Clean, CleanTask, ConnectionConfigurationError, Migrate, MigrationTask, ValidateEncoding, Version, VersionTask

Constant Summary collapse

MIGRATIONS_DIR =
File.expand_path("../../../db/migrations", __FILE__)

Class Method Summary collapse

Class Method Details

.connectionObject



15
16
17
# File 'lib/pact_broker/db.rb', line 15

def self.connection
  @connection
end

.connection=(connection) ⇒ Object



11
12
13
# File 'lib/pact_broker/db.rb', line 11

def self.connection= connection
  @connection = connection
end

.mysql?Boolean

Returns:

  • (Boolean)


32
33
34
# File 'lib/pact_broker/db.rb', line 32

def self.mysql?
  connection.adapter_scheme =~ /mysql/
end

.run_migrations(database_connection) ⇒ Object



19
20
21
22
# File 'lib/pact_broker/db.rb', line 19

def self.run_migrations database_connection
  Sequel.extension :migration
  Sequel::TimestampMigrator.new(database_connection, PactBroker::DB::MIGRATIONS_DIR).run
end

.set_mysql_strict_mode_if_mysqlObject



28
29
30
# File 'lib/pact_broker/db.rb', line 28

def self.set_mysql_strict_mode_if_mysql
  connection.run("SET sql_mode='STRICT_TRANS_TABLES';") if mysql?
end

.validate_connection_configObject



24
25
26
# File 'lib/pact_broker/db.rb', line 24

def self.validate_connection_config
  PactBroker::DB::ValidateEncoding.(connection)
end