Ruby on rails 在数据库中存储序列化数组是否为反模式?轨道
如中所述,可以在数据库中存储序列化数据。我想知道的是我是否真的应该或者只是创建一个简单的额外表 对象具有关联数字的列表 可能需要检查对象是否具有特定编号 永远不会更新它 我不会质疑的 是否将属性号序列化 是否有属于对象的表编号 顺便说一句,我使用rails 5.1和postgresqlRuby on rails 在数据库中存储序列化数组是否为反模式?轨道,ruby-on-rails,arrays,activerecord,serialization,anti-patterns,Ruby On Rails,Arrays,Activerecord,Serialization,Anti Patterns,如中所述,可以在数据库中存储序列化数据。我想知道的是我是否真的应该或者只是创建一个简单的额外表 对象具有关联数字的列表 可能需要检查对象是否具有特定编号 永远不会更新它 我不会质疑的 是否将属性号序列化 是否有属于对象的表编号 顺便说一句,我使用rails 5.1和postgresql 谢谢因为您使用的是PostgreSQL,所以实际上您还有第三个选择:使用数组列 创建列时添加array:true选项: t.integer :column_name, array: true 然后model.c
谢谢因为您使用的是PostgreSQL,所以实际上您还有第三个选择:使用数组列 创建列时添加
array:true
选项:
t.integer :column_name, array: true
然后model.column\u name
将是一个Ruby数组,您可以使用所有
我倾向于认为使用单独的表通常会更好,但是如果需要,数组列通常很方便,并且很容易展开到单独的表中
我会远离
序列化。这会向数据库中抛出一团YAML,YAML查询起来既困难又麻烦,更不用说在数据库内部操作了。是的,意外提交。谢谢我删除了我的答案,也将删除此评论。