我想在数据库中添加数组。我用ruby , sequel和 postgresql ,但问题是真正的方式,而不是程序实现。 我看到 3 条路径:
- 使用特殊adapters 。在进行一些更改后,它有助于在数据库中保存像
[1,2,3,4]
这样的数组:在数据库中 will look like“{1,2,3,4}”
。但之后我不知道如何将此条目转换回[1,2,3,4]
而不废话。 - 将数组转换为 json 并将其保存到数据库。像
[1,2,3,4]
这样的数组将看起来像"[1,2,3,4]"
。我可以通过JSON.parse
轻松转换回来。 - 按 Marshal 转换数组并保存。数组
[1,2,3,4]
看起来像"\x04\b[\ti\x06i\ai\bi\t"
,但有风险,因为 ruby 更新后数据可以更改(或者我错了) 谁能告诉一下真正的方法吗?
最佳答案
Sequel 本身支持 Postgres 数组列,假设您不需要进一步标准化您的架构。
How do I define an ARRAY column in a Sequel Postgresql migration?
http://sequel.jeremyevans.net/rdoc-plugins/files/lib/sequel/extensions/pg_array_rb.html
关于arrays - 如何正确地将数组保存到数据库中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49083087/