ruby-on-rails - rake 数据库 :migrate error tables

标签 ruby-on-rails ruby devise

我正在尝试运行 rake db:migrate 并在控制台中收到错误消息。

好像我正在创建一个已经存在的表,但我不知道如何删除旧表,或重置数据库以重新开始。

我没有任何用户,所以删除或重新开始都不是问题。

create_table(:users) rake aborted! StandardError: An error has occurred, this and all later migrations canceled:

SQLite3::SQLException: table "users" already exists: CREATE TABLE "users" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "email" varchar(255) DEFAULT '' NOT NULL, "encrypted_password" varchar(255) DEFAULT '' NOT NULL, "reset_password_token" varchar(255), "reset_password_sent_at" datetime, "remember_created_at" datetime, "sign_in_count" integer DEFAULT 0 NOT NULL, "current_sign_in_at" datetime, "last_sign_in_at" datetime, "current_sign_in_ip" varchar(255), "last_sign_in_ip" varchar(255), "created_at" datetime, "updated_at" datetime) /Users/jovanhernandez/.rvm/gems/ruby-2.1.2/gems/sqlite3-1.3.9/lib/sqlite3/database.rb:91:in `initialize'

最佳答案

如果您不介意删除数据,您可以运行

rake db:drop
rake db:create
rake db:migrate

这应该可以解决问题。否则,您可以暂时注释掉导致迁移中的 change(或 up)方法出现问题的部分内容,然后运行迁移。迁移运行后,取消对迁移的注释。

这样做可以让 rails 接受迁移是最新的。

关于ruby-on-rails - rake 数据库 :migrate error tables,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26533461/

相关文章:

ruby-on-rails - 使用 formtastic 在 rails 中选择按字母顺序排序?

ruby-on-rails - 我的 Rails 应用程序中的 Postgres 性能问题

ruby - Rails 3 在查询中得到错误的计数

ruby-on-rails - Rails 添加了新的设计 View

ruby-on-rails - 设计-可恢复(密码重置)

ruby-on-rails - 在设计用户模型中编辑自定义字段

ruby-on-rails - active_admin jquery-gems 弄得一团糟

ruby-on-rails - 我们可以在 Ruby on Rails ActiveRecord 的一个查询中插入多行吗?

html - 如何设置使用邮件 gem 发送 HTML 电子邮件?

ruby-on-rails - 如何在Rails 4中获取上一页的引荐来源网址