Pregunta

Estoy usando db hipertible con la parte delantera del hiperrecordio. Hubo algunos errores que solucioné en él. Pero ahora las migraciones me atrapan. Cuando lo migra, muestra el error:

rake aborted!
undefined method `select_rows' for #<ActiveRecord::ConnectionAdapters::HypertableAdapter:0xb6f791c4>
.rvm/gems/ruby-1.8.7-p352@r2.3.8/gems/activerecord-2.3.8/lib/active_record/connection_adapters/abstract/database_statements.rb:27:in `select_values'

Cuando miro el código o Ruby on Rails Actice_record. Muestra.

  # Returns an array of arrays containing the field values.
  # Order is the same as that returned by +columns+.
  def select_rows(sql, name = nil)
  end
  undef_method :select_rows

Traté de eliminar estas funciones agregando una solución en inicializaciones.

module ActiveRecord
  module ConnectionAdapters
    class HypertableAdapter

      def select_rows(sql, name = nil)
      end
    end
  end
end

Luego vino con el error Nil value occurred while accepting array or hash. Para solucionarlo, agregué un nuevo método al código de corrección.

module ActiveRecord
  module ConnectionAdapters
    class HypertableAdapter

      def select_rows(sql, name = nil)
      end

      def select_values(sql, name = nil)
        result = select_rows(sql, name)
        result.map { |v| v[0] } unless result.nil?
      end
    end
  end
end

Luego vino con el error:

rake aborted!
You have a nil object when you didn't expect it!
You might have expected an instance of Array.
The error occurred while evaluating nil.map
/.rvm/gems/ruby-1.8.7-p352@r2.3.8/gems/activerecord-2.3.8/lib/active_record/migration.rb:421:in `get_all_versions'

¿Alguien tiene una idea, qué está pasando con él?

¿Fue útil?

Solución

Este código elimina todos los errores. Pero ahora las migraciones funcionan bien, pero no retroceden.

module ActiveRecord
  module ConnectionAdapters
    class HypertableAdapter

      def select_rows(sql, name = nil)
        result = execute(sql)
        rows = []
        result.cells.each { |row| rows << row }
        rows
      end

      def select_values(sql, name = nil)
        result = select_rows(sql, name)
        result.map { |v| v[0] } unless result.nil?
      end
    end
  end
end

Cuando me registré en el archivo de esquema, muestra el siguiente error:

# Could not dump table "teams" because of following StandardError
#   Unknown type '' for column 'ROW'
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top