首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >rake db:迁移不起作用

rake db:迁移不起作用
EN

Stack Overflow用户
提问于 2012-03-28 03:39:02
回答 2查看 43.3K关注 0票数 21

我正在学习rails教程,但是遇到了问题。从清单8.16开始,我对<timestamp>_add_remember_token_to_users.rb进行了以下修改

class AddRememberTokenToUsers < ActiveRecord::Migration
  def change
    add_column :users, :remember_token, :string
    add_index  :users, :remember_token
  end
end

然后,向导说要像往常一样更新dev & test db:

$ bundle exec rake db:migrate
$ bundle exec rake db:test:prepare

我的*remember_token*用户测试仍然失败,所以我使用命令行sqlite3查看了dev中的用户表和测试数据库。它们看起来像这样:

sqlite> .schema users
CREATE TABLE "users" (
   "id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, 
   "name" varchar(255), 
   "email" varchar(255), 
   "created_at" datetime NOT NULL, 
   "updated_at" datetime NOT NULL, 
   "password_digest" varchar(255));
CREATE UNIQUE INDEX "index_users_on_email" ON "users" ("email");

我的迁移似乎还没有运行,但我不知道如何强制它运行。

EN

回答 2

Stack Overflow用户

发布于 2012-09-20 09:49:58

我遇到了与最初问题相同的问题。$ bundle exec rake db:migrate没有将remember_token添加到.db中,Latha Doddikadi的回答对我很有效。

我做到了:

rake db:rollback

然后:

$ bundle exec rake db:migrate

它将remember_token字段添加到数据库中,然后:

bundle exec rspec spec/models/user_spec.rb

都过去了。

Finished in 0.92841 seconds
21 examples, 0 failures
票数 6
EN

Stack Overflow用户

发布于 2012-03-28 13:22:17

回滚,然后重新运行它可能起作用的迁移。

     rake db:rollback

回滚之后,重新运行您的迁移。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9896488

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档