【发布时间】:2012-09-14 12:27:59
【问题描述】:
我在本地对我的应用程序进行了一些测试,但遇到了数据库死锁的情况。在谷歌上搜索了如何处理它之后,我决定因为它只是开发,所以我会炸毁数据库并重新创建它。
只有这样是行不通的。我已经重新创建了几次数据库,但从未遇到任何问题。
我可以运行 db:drop ok 并且 db:create 工作,但是当我运行 db:migrate 时它只是挂起。
我已经重新启动,以防一个进程在数据库上有某种锁定但没有变化。
没有错误,当我这样做时 --trace 我一点也不聪明。
任何帮助都将不胜感激,即使是从哪里开始调试问题
这就是我的数据库配置...
发展: 适配器:sqlite3 数据库:db/dev.sqlite3 游泳池:5 超时:5000
测试: 适配器:sqlite3 数据库:db/test.sqlite3 游泳池:5 超时:5000
谢谢
【问题讨论】:
-
您是否尝试过在第一次迁移中仅使用
puts来查看它是否到达那里? -
我刚刚在第一次迁移中的 def self.up 之后添加了“第一次迁移”,当我运行 db:migrate 时它没有出现。此外,当我运行 rails s 时,webrick 服务器也会挂起,它显示前几行,但永远不会到达它告诉您 pid 和端口的行。我使用相同的 gemset 创建了一个新的 rails 应用程序,我可以进行迁移并启动 webrick 服务器。
-
听起来这可能与您放入
environment.rb文件、application.rb文件或初始化程序中的一些自定义内容有关。