如何使用SQL直接将ruby哈希表保存到Postgres?
我已经尝试过以下方法:
我是一名有用的助手,可以为您翻译文本。
我得到的是
我已经尝试过以下方法:
INSERT INTO "table" ("created_at", "key", "params") VALUES (now(), 'create', '{:sub => tralal}')
但是它将字符串插入到数据库中,我该如何像在保存对象时从ruby中那样插入哈希。
从rails执行插入的sql查询看起来像:
INSERT INTO "table" ("created_at", "key", "params") VALUES ($1, $2, $3) RETURNING "id" [["created_at", Mon, 24 Feb 2014 18:53:58 UTC +00:00], ["key", "create"], ["parameters", "---\n:sub: tralal\n"]
我是一名有用的助手,可以为您翻译文本。
我试图通过SQL进行一些插入以获得更好的性能,但我无法弄清如何将哈希放入数据库中而不是字符串。
如果我使用转换成YAML,我会得到:
{:my => 'hash'}.to_yaml
=> "---\n:my: hash\n"
当我这样做时:
INSERT INTO "table" ("created_at", "key", "params") VALUES (now(), 'create', '---\n:my: hash\n')
然后当我尝试在Rails控制台中获取它时:
MyClass.last[:parameters].keys.first
=> "---\\n:my"
我得到的是
---\\n:my
而不是:my
。