sqlite - Bundle Exec Rake DB 迁移错误

标签 sqlite ruby-on-rails-3.1 devise rake migrate

当我为基本 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'

最佳答案

SQlite 错误显示您已经为用户表创建了电子邮件字段。

添加“电子邮件”varchar(255) DEFAULT '' NOT NULL。所以尝试使用“不同的列名称”

或删除旧的迁移。

def change 
  remove_column  :users, :email, <type>
end

之后使用此迁移

def up
  add_column :users, :email, :string
end


def down
  remove_column :users, :email, :string
end

关于sqlite - Bundle Exec Rake DB 迁移错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18049908/

相关文章:

sqlite - 如何在 sqlite 中构造我的查询?

database - 将空值替换为 SQLite 中另一个表中的另一列

android - SQLite 查询性能

caching - Rails 3.1.0 - ActionController::Base:Class 的未定义方法 `page_cache_extension'

jquery - 如何解决 Rails 中静默失败的 js 问题?

ruby-on-rails - 更新到 Rails 3.2.2 : How to properly move my plugin from the '/vendor' to '/lib' directory?

ruby-on-rails - 设计管理员注销错误

ruby-on-rails - 实现可通过Rails和Devise验证的 token

ruby-on-rails - 设计:退出特定用户,而不是范围

iphone - Xamarin IOS - 如何将现有的 sqlite 数据库文件包含到解决方案中