default for serialized column in activerecord migration

前端 未结 3 492
自闭症患者
自闭症患者 2021-02-05 09:51

so i have a serialized column :dimensions, and in my migration, i would like to set the field to be a default hash.

i have tried...

create_table :shippin         


        
3条回答
  •  南方客
    南方客 (楼主)
    2021-02-05 10:18

    You can also specify a default class for the serialized column. See the docs.

    class MyModel < ActiveRecord::Base
      serialize :dimensions_in, Hash
    end
    

    I've found that after_initialize blocks can cause a huge performance hit, especially if you would ever need to MyModel.all (eg: for a bulk export)

    Without the class: MyModel.new.dimensions_in => nil

    With a default Hash class: MyModel.new.dimensions_in => {}

提交回复
热议问题