繁体   English   中英

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

[英]rake db:migrate fails when trying to do inserts

我正在尝试填充数据库,以便可以开始处理项目。 这个项目已经建立,并且正在被我带去进行前端工作。 问题是我无法使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。 我已经从Mac随附的磁盘上安装了XCode。 我已经更新了红宝石,安装了滑轨和所有必需的宝石。 我安装了64位版本的MySQL。

我已经尝试过32位版本的MySQL,甚至尝试过从macports安装

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

迁移会很好地创建表,但是每次尝试插入都会死掉。

任何帮助都会很棒

这些在Mac OS X Snow Leopard上安装MySQL的说明非常适合我: http : //hivelogic.com/articles/compiling-mysql-on-snow-leopard

鉴于您遇到的错误,看来您不需要mysql gem。 其他潜在陷阱:

  1. 安装gem之后,您忘记了重新启动应用程序/服务器。
  2. 您对mysql用户权限存在某种问题。 (例如:没有写特权)
  3. 您使用了错误的mysql驱动程序/ gem。

编辑:如果您正在Mac上进行ruby开发,我强烈建议同时使用homebrewrvm

如果在控制台上运行'mysql -u root'可以正常工作,则可以使用hivelogic.com的说明(根据John Topley的链接)通过键入以下内容来重新安装mysql gem:

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

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

提示:数据库迁移不利于播种。 如果使用rails> = 2.3.4,则应该使用db / seeds.rb和$ rake db:seed任务来完成。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM