Я использую Hypertable db с интерфейсом HyperRecord.Были некоторые ошибки, которые я исправил в нем.Но сейчас миграции застряли у меня.Всякий раз, когда я выполняю миграцию, отображается ошибка:
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'
Когда я смотрю код или ruby на рельсах actice_record.Это показывает.
# 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
Я попытался удалить эти функции, добавив исправление в инициализации.
module ActiveRecord
module ConnectionAdapters
class HypertableAdapter
def select_rows(sql, name = nil)
end
end
end
end
Затем пришло с ошибкой Nil value occurred while accepting array or hash
.Чтобы исправить это, я добавил новый метод к коду исправления.
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
, затем возникла ошибка:
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'
Есть ли у кого-нибудь идея, что с ней происходит?