【发布时间】:2011-12-31 20:24:44
【问题描述】:
当我尝试为我的应用程序播种时,我收到了错误:
无法建立连接,因为 - 目标机器主动拒绝了它。 - 连接(2)
我相信原因是因为我在使用 mysql2 时遇到问题,所以我将它与 MySQL 5.5 服务器一起卸载,然后切换到 sqlite3。我认为 mysql2 的服务器正在后台运行,所以这可能是问题所在。我将如何解决这个问题?我将如何关闭 Mysql2 本地主机服务器或导致此问题的任何服务器?
我在 Windows 7 64 位上运行。
Rails 3.0.9
SQLite3 1.3.4
谢谢。
注意:我可以很好地迁移和丢弃。
编辑:
config/database.yml
# SQLite version 3.x
# gem install sqlite3
development:
adapter: sqlite3
database: db/development.sqlite3
pool: 5
timeout: 5000
test:
adapter: sqlite3
database: db/test.sqlite3
pool: 5
timeout: 5000
production:
adapter: sqlite3
database: db/production.sqlite3
pool: 5
timeout: 5000
更新:
我尝试重新启动电脑并从头开始重新制作我的应用程序,但仍然出现错误。禁用 Windows 防火墙/Comodo 防火墙并再次尝试,仍然失败。我进行了系统还原,但这也不起作用。
这是完整的rake db:seed:https://gist.github.com/1375566
已解决:
我在另一个应用程序中运行了rake db:seed,它运行正常,因此正如 clyfe 接受的答案所指出的那样,太阳黑子就是问题所在。我再次将我的应用程序放在一起并停止添加太阳黑子,突然我得到了错误:
rake db:seed
(in C:/testagain)
Deleting database now...
rake aborted!
undefined method `searchable' for #<Class:0x52cdca0>
这意味着 rake 正在读取我处理太阳黑子的 UserPrice 模型中的代码:
class UserPrice < ActiveRecord::Base
# Sunspot and Websolr configuration.
#searchable do
# text :product_name do
# product.name
# end
# end
end
我对此进行了注释,并且能够正确播种。然后我继续按以下顺序使用这些命令尝试 sunspot:
rails g sunspot_rails:install
rake sunspot:solr:start (also un-comment model)
rake sunspot:reindex
rails server
rake db:seed
一切正常。
【问题讨论】:
-
您的数据库配置文件是什么样的?如果 dev sqlite3 和 mysql 之间存在冲突,我会感到惊讶。
-
@DaveNewton 我把文件放在我的编辑:部分。
-
rails 将仅连接您的 database.yml 中的数据库适配器。
-
@xxd 好的,很好的信息。你觉得我该怎么做?如何停止所有连接?
-
我也遇到了这个问题,感谢您的解决,但我几乎一直在寻找。需要明确的是,正如您所说,问题不在于“太阳黑子”。我认为说“它是太阳黑子”有点误导。例如,当我读到它时,我想“好吧,太阳黑子甚至没有运行,所以它不可能和我的问题一样”。真正的问题是运行 db:seed 时 Sunspot 没有运行。
标签: ruby-on-rails ruby ruby-on-rails-3 sqlite sunspot