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,也没有编辑任何迁移文件.)
这是一个生产环境,因此不能选择丢弃表.
我可以尝试的任何建议吗?
归档时间: |
|
查看次数: |
2635 次 |
最近记录: |