【发布时间】:2013-08-13 22:31:56
【问题描述】:
我正在关注 RailsTutorial.org 教程,第 7.3 节,并尝试使用 rake 进行数据库迁移,以将密码列添加到现有数据库。似乎正在发生的事情是,rails 正在重新运行以前的迁移文件并尝试添加表用户(已经存在)而不是最近的迁移文件并添加密码列。任何帮助,将不胜感激!
这是我为生成迁移文件而运行的代码:
$ rails generate migration add_password_to_users encrypted_password:string
然后我运行 rake db:migrate 并得到以下错误:
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)
【问题讨论】:
-
似乎您复制了之前创建用户表的迁移。查看您的 db/migrate 文件夹
-
应该有两个迁移包含:create_table :users
标签: ruby-on-rails ruby