Sha256: 9d8dccc76ac29558263e8ccfda4a1fc1b6d53b7566069d6b64a576a8bf8bbac0

Contents?: true

Size: 1.22 KB

Versions: 45

Compression:

Stored size: 1.22 KB

Contents

require 'arjdbc/tasks/database_tasks'

module ActiveRecord::Tasks

  DatabaseTasks.module_eval do

    # @override patched to adapt jdbc configuration
    def each_current_configuration(environment)
      environments = [environment]
      environments << 'test' if environment == 'development'

      configurations = ActiveRecord::Base.configurations.values_at(*environments)
      configurations.compact.each do |config|
        yield adapt_jdbc_config(config) unless config['database'].blank?
      end
    end

    # @override patched to adapt jdbc configuration
    def each_local_configuration
      ActiveRecord::Base.configurations.each_value do |config|
        next unless config['database']

        if local_database?(config)
          yield adapt_jdbc_config(config)
        else
          $stderr.puts "This task only modifies local databases. #{config['database']} is on a remote host."
        end
      end
    end

    private

    def adapt_jdbc_config(config)
      return config unless config['adapter']
      config.merge 'adapter' => config['adapter'].sub(/^jdbc/, '')
    end

  end

  MySQLDatabaseTasks.class_eval do

    def error_class
      ActiveRecord::JDBCError
    end

  end if const_defined?(:MySQLDatabaseTasks)

end

Version data entries

45 entries across 45 versions & 2 rubygems

Version Path
activerecord-jdbc-adapter-52.8-java lib/arjdbc/tasks/databases.rake
activerecord-jdbc-alt-adapter-52.6.0-java lib/arjdbc/tasks/databases.rake
activerecord-jdbc-alt-adapter-51.7.0-java lib/arjdbc/tasks/databases.rake
activerecord-jdbc-alt-adapter-50.7.0-java lib/arjdbc/tasks/databases.rake
activerecord-jdbc-adapter-52.7-java lib/arjdbc/tasks/databases.rake
activerecord-jdbc-adapter-51.8-java lib/arjdbc/tasks/databases.rake
activerecord-jdbc-adapter-50.8-java lib/arjdbc/tasks/databases.rake
activerecord-jdbc-adapter-52.6-java lib/arjdbc/tasks/databases.rake
activerecord-jdbc-adapter-51.7-java lib/arjdbc/tasks/databases.rake
activerecord-jdbc-adapter-50.7-java lib/arjdbc/tasks/databases.rake
activerecord-jdbc-alt-adapter-52.5.1-java lib/arjdbc/tasks/databases.rake
activerecord-jdbc-alt-adapter-51.6.1-java lib/arjdbc/tasks/databases.rake
activerecord-jdbc-alt-adapter-50.6.1-java lib/arjdbc/tasks/databases.rake
activerecord-jdbc-adapter-52.5-java lib/arjdbc/tasks/databases.rake
activerecord-jdbc-adapter-51.6-java lib/arjdbc/tasks/databases.rake
activerecord-jdbc-adapter-50.6-java lib/arjdbc/tasks/databases.rake
activerecord-jdbc-alt-adapter-52.4.0-java lib/arjdbc/tasks/databases.rake
activerecord-jdbc-alt-adapter-51.5.0-java lib/arjdbc/tasks/databases.rake
activerecord-jdbc-alt-adapter-50.5.0-java lib/arjdbc/tasks/databases.rake
activerecord-jdbc-adapter-52.4-java lib/arjdbc/tasks/databases.rake