Ruby on rails $rake db:migrate发生错误,此迁移和所有后续迁移已取消
我是RoR新手,不断收到以下错误消息: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 "
$ 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
insertdrop\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
。