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/db/migrate_data.rb,
lib/pact_broker/db/log_quietener.rb,
lib/pact_broker/tasks/clean_task.rb,
lib/pact_broker/tasks/version_task.rb,
lib/pact_broker/db/seed_example_data.rb,
lib/pact_broker/db/validate_encoding.rb,
lib/pact_broker/tasks/migration_task.rb,
lib/pact_broker/db/data_migrations/helpers.rb,
lib/pact_broker/db/data_migrations/set_webhooks_enabled.rb,
lib/pact_broker/db/data_migrations/migrate_webhook_headers.rb,
lib/pact_broker/db/data_migrations/set_latest_version_sequence_value.rb,
lib/pact_broker/db/data_migrations/set_pacticipant_ids_for_verifications.rb,
lib/pact_broker/db/data_migrations/set_consumer_ids_for_pact_publications.rb

Defined Under Namespace

Modules: DataMigrations Classes: Clean, CleanTask, ConnectionConfigurationError, LogQuietener, Migrate, MigrateData, MigrationTask, SeedExampleData, ValidateEncoding, Version, VersionTask

Constant Summary collapse

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

Class Method Summary collapse

Class Method Details

.connectionObject



17
18
19
# File 'lib/pact_broker/db.rb', line 17

def self.connection
  @connection
end

.connection=(connection) ⇒ Object



13
14
15
# File 'lib/pact_broker/db.rb', line 13

def self.connection= connection
  @connection = connection
end

.mysql?Boolean

Returns:

  • (Boolean)


38
39
40
# File 'lib/pact_broker/db.rb', line 38

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

.run_data_migrations(database_connection) ⇒ Object



26
27
28
# File 'lib/pact_broker/db.rb', line 26

def self.run_data_migrations database_connection
  PactBroker::DB::MigrateData.(connection)
end

.run_migrations(database_connection, options = {}) ⇒ Object



21
22
23
24
# File 'lib/pact_broker/db.rb', line 21

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_mysqlObject



34
35
36
# File 'lib/pact_broker/db.rb', line 34

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

.validate_connection_configObject



30
31
32
# File 'lib/pact_broker/db.rb', line 30

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