$ rake db:migrate发生错误,这个和所有后来的迁移取消

我是新来的RoR,我不断收到此错误消息:

$ rake db:migrate == CreateUsers: migrating ==================================================== -- create_table(:users) rake aborted! 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, "name" varchar(255), "email" varchar (255), "created_at" datetime, "updated_at" datetime) Tasks: TOP => db:migrate (See full trace by running task with --trace) 

我一直在寻找3天的解决scheme,但我似乎无法find任何适合我的方法。

预先感谢您的帮助:) PS – 我正在运行Windows

table "users" already exists似乎是问题。 您是否尝试过使用某些SQLITE管理工具从数据库中手动删除表?

或者你可以在你的迁移脚本中包含一个删除表(应该在你的db / migrate文件夹中调用create_users.rb)。 内部解决插入drop_table :users

  def up drop_table :users create_table :users do |t| t.string :name #... t.timestamps end 

哦,我记得从我的RoR时间表名称“用户”可能会导致问题以后。 可能是这个相关的。

不知道你是否遵循Michael Hartl关于RoR的教程。

但是有人说这个教程的步骤有问题http://archive.railsforum.com/viewtopic.php?id=44944

rake db:drop:all <———-将擦除一切然后运行rake db:migrate再次rake db:migrate应该解决问题。

祝你好运

由于该表已经存在,因此您需要在执行迁移之前将其删除/删除。

很简单,GUI的方式是使用SQLite数据库浏览器( http://sourceforge.net/projects/sqlitebrowser/ )。

用Table-X图标点击按钮。 选择用户表单击删除。

然后运行rake db:migrate

巴达繁荣巴达bing