Sha256: 0505b8469420fadf7581ba90ddd6acba7c22d41b52a427f993ceb489e9df5dbd

Contents?: true

Size: 804 Bytes

Versions: 2

Compression:

Stored size: 804 Bytes

Contents

require 'sequel'
require 'pact_broker/db/validate_encoding'

Sequel.datetime_class = DateTime

module PactBroker
  module DB

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

    def self.connection= connection
      @connection = connection
    end

    def self.connection
      @connection
    end

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

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

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

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

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
pact_broker-2.7.0.beta.1 lib/pact_broker/db.rb
pact_broker-2.6.0 lib/pact_broker/db.rb