Rails 3迁移不适用于Heroku

Fra*_*ter 4 ruby-on-rails heroku ruby-on-rails-3

我有一个非常简单的迁移,它是使用生成器创建的

class AddEmailToUsers < ActiveRecord::Migration
  def self.up
    add_column :users, :email, :string
  end

  def self.down
    remove_column :users, :email
  end
end
Run Code Online (Sandbox Code Playgroud)

它在当地运作良好

rake db:migrate
rails console
>> User.column_names
=> ["id", "created_at", "updated_at", "uid", "provider", "name", "role", "email"]
Run Code Online (Sandbox Code Playgroud)

我在Heroku上有两个版本的应用程序.在一个,它工作正常.另一方面,该列根本没有显示出来.

heroku rake db:migrate的输出看起来正确:

==  AddEmailToUsers: migrating ================================================
-- add_column(:users, :email, :string)
   -> 0.0031s
==  AddEmailToUsers: migrated (0.0032s) =======================================
Run Code Online (Sandbox Code Playgroud)

但该专栏不存在:

>> User.column_names
=> ["id", "created_at", "updated_at", "uid", "provider", "name", "role"]
Run Code Online (Sandbox Code Playgroud)

(顺便说一下,我所有的数据库更改都是通过生成器创建的迁移;我自己没有触及SQL,也没有编辑任何迁移文件.)

这是一个生产环境,因此不能选择丢弃表.

我可以尝试的任何建议吗?

Jac*_*lla 12

heroku重启

为我解决了这个问题.

我认为这是heroku系统中的一个错误.我刚给他们发了电子邮件,要求修复.