Sha256: 2e7f6bdb4e16c053150ea8571f4f9abf849b7d802b8a7c805dc3840f698e819d

Contents?: true

Size: 1020 Bytes

Versions: 15

Compression:

Stored size: 1020 Bytes

Contents

require 'sequel'
require 'pact_broker/db/validate_encoding'
require 'pact_broker/db/migrate'
require 'pact_broker/db/migrate_data'

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, options = {}
      Sequel.extension :migration
      Sequel::TimestampMigrator.new(database_connection, PactBroker::DB::MIGRATIONS_DIR, options).run
    end

    def self.run_data_migrations database_connection
      PactBroker::DB::MigrateData.(connection)
    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

15 entries across 15 versions & 1 rubygems

Version Path
pact_broker-2.44.0 lib/pact_broker/db.rb
pact_broker-2.43.0 lib/pact_broker/db.rb
pact_broker-2.42.0 lib/pact_broker/db.rb
pact_broker-2.41.0 lib/pact_broker/db.rb
pact_broker-2.40.0 lib/pact_broker/db.rb
pact_broker-2.39.0 lib/pact_broker/db.rb
pact_broker-2.38.1 lib/pact_broker/db.rb
pact_broker-2.38.0 lib/pact_broker/db.rb
pact_broker-2.37.0 lib/pact_broker/db.rb
pact_broker-2.36.1 lib/pact_broker/db.rb
pact_broker-2.36.0 lib/pact_broker/db.rb
pact_broker-2.35.0 lib/pact_broker/db.rb
pact_broker-2.34.0 lib/pact_broker/db.rb
pact_broker-2.33.0 lib/pact_broker/db.rb
pact_broker-2.32.0 lib/pact_broker/db.rb