簡體   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