我在运行rake db:migrate时遇到错误

时间:2013-07-24 06:51:14

标签: ruby ruby-on-rails-3

我在rails命令rails上键入cmd of ruby​​生成控制器用户名:string email:string 一旦它在我输入rake db:migrate时创建它就会显示如下错误:      C:\ Sites \ twinkle> rake db:migrate    (在C:/ Sites / twinkle)    == CreateMembers:迁移============================================= =====      - create_table(:members)     耙子流产了!      发生错误,此操作和所有后​​续迁移都已取消:

 SQLite3::SQLException: table "members" already exists: CREATE TABLE "members" ("
  id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar(255), "email" var
  char(255), "created_at" datetime, "updated_at" datetime)

我该怎么办?

3 个答案:

答案 0 :(得分:3)

此错误表示您已在数据库中拥有一个名为“members”的表。删除Members表格,然后重试。 Rails无法“覆盖”表格,因此您必须创建一个新表格。

你可以这样丢弃你的桌子:

  1. $rails console

  2. ActiveRecord::Migration.drop_table(:members)

  3. 现在您可以再次运行rake db:migrate。它现在会起作用。

答案 1 :(得分:0)

似乎表格members已经存在。

尝试从db

中删除表

答案 2 :(得分:0)

请参阅此Rails DB Migration - How To Drop a Table?以删除现有表格