1
我想安裝血統寶石,但我有問題rake db:migrate
。祖先分貝:遷移
我按照Ancestry github頁面上的說明進行操作。我已經做了rails g migration add_ancestry_to_message ancestry:string
我編輯遷移文件後(以下railcast#262)爲:
class AddAncestryToMessage < ActiveRecord::Migration
def self.up
add_column :messages, :ancestry, :string
add_index :messages, :ancestry
end
def self.down
remove_index :messages, :ancestry
remove_column :messages, :ancestry
end
end
當我再運行rake db:migrate
我收到以下錯誤:
== AddAncestryToMessage: migrating ===========================================
-- add_column(:messages, :ancestry, :string)
rake aborted!
An error has occurred, this and all later migrations canceled:
SQLite3::SQLException: no such table: Shipmgr: ALTER TABLE "Message" ADD "ancestry" varchar(255)
Tasks: TOP => db:migrate
我曾嘗試這在一個新創建的rails應用程序和一個現有的rails應用程序上,但我仍然無法得到這個工作。有沒有人在這個問題上有任何建議?
感謝你的建議。我試過這個,它仍然拋出相同的錯誤信息。我已經按照你所描述的方式進行了設置,我在包含'class Messages
2012-01-12 10:40:23
的模型中也有messages.rb我認爲問題可能是你如何使用複數和單數你的代碼中的名字。以下是一般規則:模型類名稱和模型文件名應使用單數(類Message和message.rb)。遷移應參考總是複數的表名。有許多方法可以改變這種默認行爲,但首先嚐試遵守默認設置,看看是否可行 – PinnyM 2012-01-12 14:45:54
另外,您是否可以確認您是否有以前的遷移來創建:messages表? – PinnyM 2012-01-12 17:05:24