ruby / mysql mysql_adapter.rb: 505: en 'real_connect': no ??puede convertir String a Integer
-
07-07-2019 - |
Pregunta
Vine esta mañana, encendí mi aplicación de la misma manera que de costumbre y comencé a recibir este error. Desde entonces, he recorrido todos los caminos que puedo concebir, hasta el punto de eliminar y reinstalar cada pieza de software ruby ??/ rails en mi máquina, incluido mysql. He eliminado mi aplicación a solo lo siguiente.
require 'rubygems'
require 'active_record'
class Job < ActiveRecord::Base
end
ActiveRecord::Base.establish_connection(
:adapter => "mysql",
:host => "192.168.254.22", (I've also tried 127.0.0.1)
:port => "3306",
:database => "databasethingie",
:username => "root",
:password => "rootpassword"
)
trabajo = Job.find (: primero) Esto está en un cuadro de Windows que ejecuta instant rails 2.0.
Todavía recibo los errores:
c:/InstantRails/ruby/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/connection_adapters/mysql_adapter.rb:505:in `real_connect': can't convert String into Integer (TypeError)
from c:/InstantRails/ruby/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/connection_adapters/mysql_adapter.rb:505:in `connect'
from c:/InstantRails/ruby/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/connection_adapters/mysql_adapter.rb:183:in `initialize'
from c:/InstantRails/ruby/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/connection_adapters/mysql_adapter.rb:88:in `new'
from c:/InstantRails/ruby/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/connection_adapters/mysql_adapter.rb:88:in `mysql_connection'
from c:/InstantRails/ruby/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/connection_adapters/abstract/connection_specification.rb:292:in `send'
from c:/InstantRails/ruby/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/connection_adapters/abstract/connection_specification.rb:292:in `connection='
from c:/InstantRails/ruby/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/connection_adapters/abstract/connection_specification.rb:260:in `retrieve_connection'
from c:/InstantRails/ruby/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/connection_adapters/abstract/connection_specification.rb:78:in `connection'
from c:/InstantRails/ruby/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/base.rb:2693:in `quoted_table_name'
from c:/InstantRails/ruby/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/base.rb:1469:in `construct_finder_sql'
from c:/InstantRails/ruby/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/base.rb:1341:in `find_every'
from c:/InstantRails/ruby/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/base.rb:1303:in `find_initial'
from c:/InstantRails/ruby/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/base.rb:534:in `find'
from tmp.rb:17
He visto publicaciones sobre esto que se refieren a un error que se corrigió hace 1.5.2 días, pero estoy actualizado. 2.1.2, etc. ¿Qué está pasando aquí? Me preguntaba si esto estaba relacionado con cambios recientes en la configuración de la base de datos (otorgando derechos completos a la raíz), pero la reinstalación parecería demostrar lo contrario.
Solución
Intentaste:
:port => 3306