我想做什么:
我正在开发一个 CLI 应用程序,它有一个mattn/sqlite3
不应公开的只读数据库(使用 sqlite ),并且二进制文件只是只读数据库上的一个 API。
我尝试了类似packr
但它提供的工具File
,string
或者[]byte{}
只sqlx.Connect
需要文件路径
这个statckoverflow 问题谈到了使用tempfile
,但这也停留在 FS 上。我无法将数据库文件保存在 FS 上,因为任何有权访问系统的人都可以访问它。
我已经尝试过的
将加密文件保存在存储中,然后在运行时对其进行解密,然后将其存储在 sqlite 中in-memory db
,但是当使用多个 go-routines 时,我面临着很多问题,例如在GH 问题table not found
上已经存在的repo 问题并且尚未解决。所以,我不能使用内存数据库。mattn/sqlite3