设置Devise AddDeviseToUsers迁移错误

时间:2014-10-06 22:12:50

标签: ruby-on-rails devise installation migration

在设置设计时,我遇到了以下错误:

== 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

但这只是将问题移到了一线(即抱怨添加重复的电子邮件列等)...不确定问题的根源存在于哪里。

1 个答案:

答案 0 :(得分:0)

您可能不小心添加了两个迁移,这两个迁移都会向您的数据库添加名称/电子邮件。完成所有迁移,确保您只添加了:name:email一次。

如果您仍然收到错误,请尝试:

rake db:reset

这将删除您的数据库,重新创建您的数据库,然后运行所有迁移。如果此命令返回相同的错误,那么您知道迁移一定有问题,那里某处仍然存在重复。