在设置设计时,我遇到了以下错误:
== 20141006184828 AddDeviseToUsers: migrating =================================
-- change_table(:users)
rake aborted!
StandardError: An error has occurred, this and all later migrations canceled:
SQLite3::SQLException: duplicate column name: name: ALTER TABLE "users"
ADD "name" varchar(255)/home/vagrant/.rvm/gems/ruby-2.0.0-p576/gems/sqlite3-
1.3.9/lib/sqlite3/database.rb:91:in `initialize'
我发现了一些不同的回答,但似乎没有解决我的问题。我尝试在以下位置评论名称:
change_table(:users) do |t|
t.string :name
但这只是将问题移到了一线(即抱怨添加重复的电子邮件列等)...不确定问题的根源存在于哪里。
答案 0 :(得分:0)
您可能不小心添加了两个迁移,这两个迁移都会向您的数据库添加名称/电子邮件。完成所有迁移,确保您只添加了:name
和:email
一次。
如果您仍然收到错误,请尝试:
rake db:reset
这将删除您的数据库,重新创建您的数据库,然后运行所有迁移。如果此命令返回相同的错误,那么您知道迁移一定有问题,那里某处仍然存在重复。