【发布时间】:2014-04-30 05:42:25
【问题描述】:
我在 Rails 4.0.4 / Ruby 2.1.0 上有一个新应用程序。我做的第一件事是添加 Devise gem。当我想运行 rake db:migrate 时,它什么也不做。没有错误,但没有执行迁移。
你能帮我处理这个案子吗?我找不到问题出在哪里。
谢谢! 彼得
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-4 rake rails-migrations
我在 Rails 4.0.4 / Ruby 2.1.0 上有一个新应用程序。我做的第一件事是添加 Devise gem。当我想运行 rake db:migrate 时,它什么也不做。没有错误,但没有执行迁移。
你能帮我处理这个案子吗?我找不到问题出在哪里。
谢谢! 彼得
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-4 rake rails-migrations
好的,所以问题是设计生成器生成了带有迁移的“.txt”文件,而不是“.rb”文件。奇怪,但更改扩展名解决了它。
【讨论】:
rails 和devise 的版本吗?奇怪的是,您使用设计 generator 得到了 .txt。
我和 Petr 遇到了同样的问题,我想我找到了原因。出于某种原因,当我运行“rails g devise User”时,它创建了一个迁移(db/migrate/[timestamp]_devise_create_users.rb)。这就是它的假设,但经过进一步检查,迁移最后缺少“.rb”。所以它看起来像(db/migrate/[timestamp]_devise_create_users)。当我在最后添加 .rb 并运行“rake db:migrate”时,它就像一个魅力。我不知道为什么rails最后没有附加'.rb'。希望对您有所帮助。
【讨论】:
安装 devise gem 后,您必须执行以下操作
rails generate devise:install生成器将安装一个初始化程序,它描述了所有设计的配置选项,您必须查看它。完成后,您就可以使用生成器将 Devise 添加到您的任何模型中了
rails generate devise <model>这是生成迁移的步骤。例如,如果你想为用户模型添加设计,你应该这样做
rails generate devise User
所以它会生成一个迁移来将设计相关的列添加到用户表中
【讨论】: