2010-05-06 55 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這個任務。