Rails 3 Mysql rake db:创建问题

时间:2011-01-16 14:44:30

标签: mysql ruby-on-rails macos rubygems

我最近升级到Rails 3并且在尝试运行rake db:create以创建已在database.yml中定义的mysql数据库时遇到以下问题

有关我的设置的一些信息:

跑雪豹 rails gem v3.0.3 mysql gem v2.8.1 mysql 5.5.8

我遇到了这个问题:

$ rake db:create

(在/ Users / elliottheis / Sites / demoProject中)

rake aborted!

未初始化的常量Mysql ::错误

(通过使用--trace运行任务查看完整跟踪)

有没有人有任何想法如何解决这个问题,这让我疯狂!

2 个答案:

答案 0 :(得分:1)

确保Mysql在您的Gemfile中,并且为Mysql设置了database.yml。未初始化的常量简单而且很可能总是意味着你没有告诉Rails在哪里找到它。你可以在终端输入mysql -uroot并查看版本,然后你知道MySql没问题。尝试发布更多信息,我们将看看我们是否无法深入了解这一点。

rake -r mysql db:create --trace

如果这不起作用,则安装中出现问题。试试这个。

卸载Mysql - 关注这些instructions 重新安装Mysql - 请遵循这些instructions

告诉我们您如何继续并在获得解决方案时告诉我们。一切顺利

答案 1 :(得分:1)

我知道这已经得到了解答,但如果其他人遇到这种情况,我的问题与艾略特的问题相同。

然而,我的修复主要围绕使用mysql gem 2.8和Snow Leopard,这在another Stackoverflow thread:中有解释

  

事实证明,这个阶级不应该存在;错误信息是   由最新的Mysql驱动程序的问题引起的。 mysql-2.8.1看了一下   我的库在一个名为额外级别'mysql'的目录中   在末尾。例如,我的库(在MacOS X 10.5.8下)就在   / usr / local / mysql / lib,但mysql.bundle库查找MySQL   / usr / local / mysql / lib / mysql中的库...这是错误的。

所以我需要在2.8之前安装mysql gem版本。按照this Web site上的说明操作,您的问题应该得到解决。