0

我在本地对我的应用程序进行了一些测试,然后遇到了数据库死锁的情况。经过一番谷歌搜索后,我决定因为它只是开发人员,所以我会炸毁数据库并重新创建它。

只有这行不通。我已经重新创建了几次数据库,但从未遇到任何问题。

我可以运行一个 db:drop ok 并且 db:create 工作,但是当我运行 db:migrate 它只是挂起。

我已经重新启动,以防一个进程在数据库上有某种锁定但没有变化。

没有错误,当我这样做时 --trace 我一点也不聪明。

任何帮助将不胜感激,即使从哪里开始调试问题

这就是我对数据库配置的...

开发:适配器:sqlite3 数据库:db/dev.sqlite3 池:5 超时:5000

测试:适配器:sqlite3 数据库:db/test.sqlite3 池:5 超时:5000

谢谢

4

1 回答 1

0

我不是 100% 我是否应该说这个问题得到了回答,但它是固定的。感谢您的帮助,weexpectedTHIS,我开始查看 environment.rb、application.rb 和 boot.rb。我不会在里面放太多东西。我在 Environment.rb 中看到 my_app::Application.initialize! 行。

我假设这是它被冻结的地方。我对此进行了注释,果然 webrick 会加载,我至少可以运行 rake db:migrate 即使它失败了,我也可以进入 rails 控制台。显然,如果没有我注释掉的那行,该应用程序根本无法工作。所以我启动了控制台,注释掉了不同的东西,最终被注释掉的只是 my_app::Application.initialize!线。

我在rails控制台中输入了那条线,它挂了,我取消并再试了几次,然后砰的一声,它在几次运行后就正常了。不知道为什么。我遇到了其他有类似问题的人,但他只是奇迹般地开始工作,没有明显的原因。不幸的是,我在同一条船上,对将来遇到这种情况的人没有太大帮助。

应用程序初始化肯定有问题,但我不知道到底是什么。

此链接将详细介绍 Rails 中的初始化过程,因此如果有人遇到类似问题,可能需要阅读以获取想法。

http://guides.rubyonrails.org/initialization.html

于 2012-09-14T04:27:59.727 回答