我正在本地对我的应用进行一些测试并遇到数据库死锁情况。经过一些谷歌搜索后,我决定,因为它只是dev我会吹走数据库并重新创建它。
只有这不起作用。我已经重新创建了几次数据库,我从来没有遇到过任何问题。
我可以运行db:drop ok和db:create有效,但是当我运行db:migrate时它就会挂起。
我已经重新启动了一个进程对数据库有某种锁定但没有改变。
没有错误,当我这样做时 - 跟踪我不是更聪明的人。
任何帮助都会受到赞赏,即使在哪里开始调试问题
这就是我对数据库配置的看法......
发展: 适配器:sqlite3 数据库:db / dev.sqlite3 游泳池:5 超时:5000
试验: 适配器:sqlite3 数据库:db / test.sqlite3 游泳池:5 超时:5000
由于
答案 0 :(得分:0)
我不是百分之百地说我是否应该说这个问题得到了解答但是它已经修复了。感谢您的帮助weexpectedTHIS,我开始查看environment.rb,application.rb和boot.rb.我不会在那里放太多东西。我在Environment.rb中看到有一行my_app :: Application.initialize!。
我假设这是冻结的地方。我注释掉了这一点,果然webrick会加载,我至少可以运行rake db:migrate,即使它失败了,我也可以进入rails控制台。显然没有这条线,我注释掉了应用程序根本不起作用。所以我用不同的东西注释掉了控制台,最后所有被注释掉的是my_app :: Application.initialize!线。
我在导轨控制台中输入了该行并且它已挂起,我取消了几次并尝试了几次,然后敲了几下就跑了。不知道为什么。我遇到了一个有类似问题的人,但是他奇迹般地开始无缘无故地开始工作。不幸的是,我在同一条船上,对将来遇到这种情况的人没什么帮助。
应用程序初始化肯定有问题,但究竟我不知道。
此链接将详细介绍rails中的初始化过程,因此如果有人遇到类似问题,可能需要阅读以获取想法。