【发布时间】:2017-10-02 14:25:06
【问题描述】:
我在 Heroku 上为我的 Rails 应用创建了一个新的迁移。它添加了一些这样的 Array 列:
t.string :timezone, array: true, default: [].to_yaml
t.string :locale, array: true, default: [].to_yaml
我在尝试迁移时收到以下错误:
ActiveRecord::StatementInvalid: PG::InvalidTextRepresentation: 错误: 格式错误的数组文字:“--- []” 详细信息:数组值必须以开头 带有“{”或维度信息。 :创建表“过滤器”(“id” 序列主键,“letter_id”整数,“性别”字符变化, “时区”字符变化[] DEFAULT '--- []',“区域设置”字符 变化[]默认'--- []
这是我的模型:
class Filter < ApplicationRecord
belongs_to :letter
serialize :timezone
serialize :locale
serialize :segment
validates_uniqueness_of :letter_id
end
Stackoverflow 上的一些人说删除序列化可以解决问题,但我需要存储一个数组,而不是字符串。
知道如何解决这个问题吗?
【问题讨论】:
标签: ruby-on-rails postgresql heroku