La migración hipertible causa problemas con los rieles 2.3.8
-
28-10-2019 - |
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?
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