Sha256: 0a06074389b8603318321259193896bad952e9c6108db076c7ebe88b1fc99682

Contents?: true

Size: 817 Bytes

Versions: 30

Compression:

Stored size: 817 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::TimestampMigrator.new(database_connection, PactBroker::DB::MIGRATIONS_DIR).run
    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

30 entries across 30 versions & 1 rubygems

Version Path
pact_broker-2.24.0 lib/pact_broker/db.rb
pact_broker-2.23.4 lib/pact_broker/db.rb
pact_broker-2.23.3 lib/pact_broker/db.rb
pact_broker-2.23.2 lib/pact_broker/db.rb
pact_broker-2.23.1 lib/pact_broker/db.rb
pact_broker-2.23.0 lib/pact_broker/db.rb
pact_broker-2.22.0 lib/pact_broker/db.rb
pact_broker-2.21.0 lib/pact_broker/db.rb
pact_broker-2.20.0 lib/pact_broker/db.rb
pact_broker-2.19.2 lib/pact_broker/db.rb
pact_broker-2.19.1 lib/pact_broker/db.rb
pact_broker-2.19.0 lib/pact_broker/db.rb
pact_broker-2.18.0 lib/pact_broker/db.rb
pact_broker-2.17.1 lib/pact_broker/db.rb
pact_broker-2.17.0 lib/pact_broker/db.rb
pact_broker-2.16.1 lib/pact_broker/db.rb
pact_broker-2.16.0 lib/pact_broker/db.rb
pact_broker-2.15.0 lib/pact_broker/db.rb
pact_broker-2.14.0 lib/pact_broker/db.rb
pact_broker-2.13.1 lib/pact_broker/db.rb