尝试执行插入时rake db:migrate失败

时间:2010-05-06 15:16:02

标签: mysql ruby-on-rails ruby rake

我正在尝试填充数据库,以便我可以开始处理项目。这个项目已经建成,我正在参与前端工作。问题是我无法让rake db:migrate进行任何插入。每次我运行rake db:migrate我都会得到这个:

== 20081220084043 CreateTimeDimension: migrating ==============================
-- create_table(:time_dimension)
   -> 0.0870s
INSERT time_dimension(time_key, `year`, `month`, `day`, day_of_week, weekend, quarter) VALUES(20080101, 2008, 1, 1, 'Tuesday', false, 1)
rake aborted!
Could not load driver (uninitialized constant Mysql::Driver)

我正在使用Snow Leopard构建MBP。我从中安装了XCode mac附带的磁盘。我已经更新了ruby,安装了rails和 所有需要的宝石。我安装了64位版本的MySQL。

我尝试过32位版本的MySQL,我甚至试过installing from macports

使用:sudo env ARCHFLAGS="-arch x86_64" gem install mysql -- --with-mysql-config=/path/to/mysql/bin/mysql_config

安装mysql gem

migrate会创建表,但每次尝试插入时都会死掉。

任何帮助都会很棒

4 个答案:

答案 0 :(得分:0)

这些安装MySQL的说明在Mac OS X Snow Leopard上对我很有用:http://hivelogic.com/articles/compiling-mysql-on-snow-leopard

答案 1 :(得分:0)

鉴于你得到的错误,看起来你没有要求mysql gem。 其他潜在的问题:

  1. 安装gem后,您忘记重新启动应用程序/服务器。
  2. 你有一些mysql用户权限的问题。 (例如:没有写私处)
  3. 您使用的是错误的mysql驱动程序/ gem。
  4. 修改:如果你在Mac上使用ruby dev,我强烈建议同时使用homebrewrvm

答案 2 :(得分:0)

如果在你的控制台上运行'mysql -u root'工作正常,那么可以使用hivelogic.com(根据John Topley的链接)的说明重新安装你的mysql gem,方法是输入:

sudo gem install mysql - --with-mysql-dir = / usr / local / mysql

如果您将MySQL 64位安装为pkg,请尝试通过手动编译重新安装。

答案 3 :(得分:0)

提示:数据库迁移对播种不利。如果您使用rails> = 2.3.4,那么您应该使用db / seeds.rb和$ rake db:seed任务。