Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails $rake db:migrate发生错误,此迁移和所有后续迁移已取消_Ruby On Rails_Windows_Sqlite_Rake - Fatal编程技术网

Ruby on rails $rake db:migrate发生错误,此迁移和所有后续迁移已取消

Ruby on rails $rake db:migrate发生错误,此迁移和所有后续迁移已取消,ruby-on-rails,windows,sqlite,rake,Ruby On Rails,Windows,Sqlite,Rake,我是RoR新手,不断收到以下错误消息: $ rake db:migrate == CreateUsers: migrating ==================================================== -- create_table(:users) rake aborted! An error has occurred, this and all later migrations canceled: SQLite3::SQLException: table "

我是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天的解决方案,但我似乎找不到任何适合我的

提前感谢您的帮助:) PS-我正在运行Windows。

表“用户”已经存在
似乎是问题所在。您是否尝试过使用一些工具从数据库中手动删除该表

或者,您可以在迁移脚本中包含一个删除表(在db/migrate文件夹中应称为create_users.rb)。内部
def up
insert
drop\u表:用户

      def up
         drop_table :users

         create_table :users do |t|
         t.string :name
         #...

         t.timestamps
      end

哦,我记得从我的RoR时间开始,表名“Users”可能会在以后引起问题。这可能是相关的。

因为表已经存在,您需要在执行迁移之前删除/删除它

实现这一点的简单、GUI方法是使用SQLite数据库浏览器()

单击带有Table-X图标的按钮。选择用户表,然后单击删除

然后运行
rakedb:migrate


“砰”的一声“砰”的一声“砰”的一声“砰”的一声,“砰”的一声“砰”的一声“砰”的一声“砰”的一声“砰”的一声“砰”的一声“砰”的一声“砰”

但是有人说教程的步骤有问题


rake db:drop:all
我也有类似的问题,然后我就有了 =>
rake db:drop
=>
rake db:create
=>
rakedb:migrate

工作得很好

但如果不行,我们可以试试

ActiveRecord::Migration.drop_表(“用户”)


ActiveRecord::Migration.create_table('users')
我也遇到了同样的问题,几个小时后我终于找到了解决方案

我把 自我介绍

创建表:用户不创建|

降下 下拉列表:用户 结束 结束


然后制作rake db:migrate and Magic

谢谢。我也遇到了这个问题。通过删除我的数据库解决了这个问题。在运行
rake db:migrate
之前,我必须在
rake db:drop:all
之后运行
rake db:create