我正在尝试安装祖先gem,但我在使用rake db:migrate时遇到了问题。
我正在遵循先辈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应用程序上尝试了这一点,但我仍然无法让它工作。有没有人对这个问题有什么建议?
发布于 2012-01-12 07:39:01
您应该尝试将迁移类名更改为复数形式(表)的'Messages':
class AddAncestryToMessages < ActiveRecord::Migration或者,更准确地说,将迁移生成器命令更改为:
rails g migration add_ancestry_to_messages ancestry:stringhttps://stackoverflow.com/questions/8828204
复制相似问题