2010-05-06 52 views
0

我正在尝试获取数据库填充,因此我可以开始处理项目。这个项目已经建成,我正在接受前端工作的帮助。问题是我无法获得rake db:migrate做任何插入。我每次运行rake db:migrate我得到这个:rake db:尝试插入时迁移失败

== 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) 

我建设与雪豹MBP。我已经从mac上附带的 磁盘安装了XCode。我已经更新了ruby,安装了rails和 所有需要的宝石。我安装了64位版本的MySQL。

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

MySQL的宝石被安装在使用:sudo env ARCHFLAGS="-arch x86_64" gem install mysql -- --with-mysql-config=/path/to/mysql/bin/mysql_config

的迁移创建表得很好,但它死它试图插入每一次。

任何帮助将是巨大的

回答

0

鉴于你得到的错误,它看起来像你不需要MySQL的宝石。 其他潜在的陷阱:

  1. 你忘了安装宝石后重新启动你的应用/服务器。
  2. 您对mysql用户权限有一些问题。 (例如:没有写权限)
  3. 您使用的是错误的mysql驱动程序/ gem。

编辑:如果你正在做在Mac红宝石开发,我强烈建议使用这两种homebrewrvm

0

如果运行“的mysql -u root”的控制台上工作正常,则可能通过键入以下,而不是重新安装使用说明你的mysql的宝石从hivelogic.com(根据约翰·托普利的链接):

sudo的创业板安装mysql - --with-mysql-dir =/usr/local/mysql

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

0

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