【问题标题】:Ruby On Rails - Can we use varchar column for saving serialized dataRuby On Rails - 我们可以使用 varchar 列来保存序列化数据吗
【发布时间】:2011-11-14 10:04:25
【问题描述】:

需要将序列化的哈希存储到mysql中。由于散列的大小将非常小,我决定使用 varchar 来保存序列化数据而不是文本列。我正在使用 mysqlrails 3

型号:

class User < ActiveRecord::Base
  serialize :monday
end

当我执行以下操作时,

u = User.new
u.monday = {:from => "10:00", :to => "04:00"}
u.save

我收到以下错误“TypeError:需要类或模块”。我们不应该对序列化数据使用 varchar 吗?

【问题讨论】:

  • 不确定是否可以在单个日期或时间列中存储范围(两次)。 te 'from' 和 'to' 定义在哪里。 rails 中的大多数问题来自非标准使用。顺便说一句,不要选择基于哈希“非常小”的数据类型。选择易于维护和阅读的好解决方案,而不是尝试将信息打包成更少的字节。值得庆幸的是,如今 gicen 电力和存储需求减少了

标签: ruby-on-rails activerecord


【解决方案1】:

您需要一个 :text 数据库数据类型才能使用序列化选项。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-12-10
    • 1970-01-01
    • 1970-01-01
    • 2011-05-03
    • 2011-07-05
    • 2023-03-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多