Bundle Exec Rake DB Migrate

时间:2013-08-06 18:13:24

标签: sql ruby-on-rails devise migration

当我为基本的RoR网站运行bundle exec rake db:migrate时,我遇到了这个错误。我是一个初学者,在这个网站和Treehouse上发现了类似的错误,但没有解决这个错误的具体后半部分(从NOT NULLC开始)。我仍然不确定如何解决这个问题 - 任何人都可以提出建议吗?我在Windows上运行它。

SQLite3::SQLException: duplicate column name: email: ALTER TABLE "users" ADD "em
ail" varchar(255) DEFAULT '' NOT NULLC:/Sites/code/omrails-master/db/migrate/201
30804201341_add_devise_to_users.rb:5:in `block in up' 

2 个答案:

答案 0 :(得分:1)

我想这是因为你的email表中已经有users列(之前的迁移添加了它,可能是创建了表)和你正在运行的Devise迁移({{ 1}})正试图重新添加它。是这样的吗?

如果是,请打开首先创建201 30804201341_add_devise_to_users.rb表的迁移文件,然后删除创建users列的行(它看起来像email)。关闭Rails服务器,然后执行以下操作。

t.string :email

答案 1 :(得分:0)

首次出发时我遇到了这个问题。我总是通过重置数据库来解决它。您已经创建了一个列,因此重置它可能会有效。

运行

bundle exec rake db:reset

bundle exec rake db:create

最后

bundle exec rake db:migrate