【发布时间】:2015-02-09 11:24:29
【问题描述】:
我有一个模型,它有一些信息最好存储为模型上的序列化哈希,因为它对大多数应用程序并不重要,并且因实例而异:
class Foo < AR::Base
attr_accessible :name, :fields
serialize :fields
end
我意识到fields 中的一个常见条目实际上与应用程序相关,最好将其放置为属性 (layout)。
请记住,理想情况下,我不应该在迁移中引用模型,我如何编写迁移以添加 layout 字段,并使用当前在 fields 哈希中的值对其进行初始化?
class AddLayoutToCardTemplates < ActiveRecord::Migration
def change
add_column :card_templates, :layout, :string, default: 'normal'
# Initialise `layout` from `fields['layout']`... how? With raw SQL?
end
end
【问题讨论】:
-
哇,我在匿名这个问题的代码方面做得很糟糕。好在它实际上并没有包含任何有趣的东西。
标签: ruby-on-rails rails-migrations