我正在尝试将二进制数据存储在数据库中。(heroku 上的 postgresql)
我知道有两种不同的方法可以在 postgresql 中存储二进制数据。一个blob和一个bytea..
当我在迁移中创建表时,
create_table :binaries do |t|
t.binary :data
end
它在 bytea 类型的数据库中创建一个列。
我的问题是..如何创建 blob 类型的记录?
我为什么要问?似乎当我将一个 10 字节的文件发送到 heroku 时,它将它存储为一个十六进制值的字符串,前面带有一个“e”.. 所以我的 10 字节变成了 21。我的 10 兆文件将变成 20 兆(和一个字节),分机,分机,分机......
现在这让我很困扰,但因为我并不真正关心性能。(我已经被总理打败了),这不是最困扰我的事情。
真正困扰我的是;当我读出数据库的内容时,我得到了 21 个字节,而不是 10 个字节。那是不可用的。
所以我的问题又来了。如何在 rails/postgresql/heroku 环境中创建一个 BLOB 列?