Sha256: 64688867c447b9fcf98f4d4c8ac7e197f6dfb1748bb77c7dc3d710d6d04f9fde

Contents?: true

Size: 742 Bytes

Versions: 9

Compression:

Stored size: 742 Bytes

Contents

module PactBroker
  module MigrationHelper

    extend self

    def large_text_type
      if postgres?
        :text
      else
        # Assume mysql
        :mediumtext
      end
    end

    def with_mysql
      if mysql?
        yield
      end
    end

    def mysql?
      adapter =~ /mysql/
    end

    def postgres?
      adapter == 'postgres'
    end

    def adapter
      Sequel::Model.db.adapter_scheme.to_s
    end

    def with_type_hash_if_postgres(options)
      if postgres?
        options.merge(type: "hash")
      else
        options
      end
    end

    def sqlite_safe string
      if adapter == 'sqlite'
        string.gsub(/(?:\b|")order(?:"|\b)/, '`order`')
      else
        string
      end
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
pact_broker-2.79.1 db/migrations/migration_helper.rb
pact_broker-2.79.0 db/migrations/migration_helper.rb
pact_broker-2.78.1 db/migrations/migration_helper.rb
pact_broker-2.78.0 db/migrations/migration_helper.rb
pact_broker-2.77.0 db/migrations/migration_helper.rb
pact_broker-2.76.2 db/migrations/migration_helper.rb
pact_broker-2.76.1 db/migrations/migration_helper.rb
pact_broker-2.76.0 db/migrations/migration_helper.rb
pact_broker-2.75.0 db/migrations/migration_helper.rb