• 动态字段变成流,存入数据库中,附代码如下:

    # Serialize a preferences attribute.
    class User < ActiveRecord::Base
      serialize :preferences
    end
    
    # Serialize preferences using JSON as coder.
    class User < ActiveRecord::Base
      serialize :preferences, JSON
    end
    
    # Serialize preferences as Hash using YAML coder.
    class User < ActiveRecord::Base
      serialize :preferences, Hash
    end
    

    然后在程序中动态解析流为对象。 对象中的属性可以动态的增删改。缺点就是利用 SQL 查询这个字段那是相当困难,另外维护成本高。

  • 如果数据量大,可以用 rails db 直接写 sql 语句,比 rake 中写 ruby 减少了网络 IO 传输的开销,节省的大量的时间及减少了程序跑一半意外挂掉的风险