我是新来的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