Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
GORM支持使用加密的SQLite数据库吗?_Sqlite_Go_Orm_Go Gorm - Fatal编程技术网

GORM支持使用加密的SQLite数据库吗?

GORM支持使用加密的SQLite数据库吗?,sqlite,go,orm,go-gorm,Sqlite,Go,Orm,Go Gorm,我的Go应用程序需要使用ORM,它可以连接到postgreSQL数据库或SQLite数据库 gorm的文档没有提到任何关于连接到加密的sqlite数据库的内容 是否可以使用它,或者以任何方式为sqlite提供自定义驱动程序,该驱动程序将与加密的sqlite DB一起工作 更新 根据Ezequiel Muns的评论,我更新了要使用的gorm SQLite驱动程序代码 可以找到这个新的GORM驱动程序 干杯 Gorm使用一个驱动程序系统,使各个数据库客户端适应其使用 您必须创建一个新模块,该模块复制

我的Go应用程序需要使用ORM,它可以连接到postgreSQL数据库或SQLite数据库

gorm的文档没有提到任何关于连接到加密的sqlite数据库的内容

是否可以使用它,或者以任何方式为sqlite提供自定义驱动程序,该驱动程序将与加密的sqlite DB一起工作

更新

根据Ezequiel Muns的评论,我更新了要使用的gorm SQLite驱动程序代码

可以找到这个新的GORM驱动程序


干杯

Gorm使用一个驱动程序系统,使各个数据库客户端适应其使用

您必须创建一个新模块,该模块复制源代码,但要导入您选择的备用库,需要进行更新。因为这些都是fork,并且它们符合数据库/sql接口,所以应该可以正常工作。然后,您将能够按照gorm中的正常方式使用此新驱动程序:

导入(
“gorm.io/gorm”
sqliteEncrypt“path.to/your/gorm sqlite encrypt”
)
db,err:=gorm.Open(sqliteEncrypt.Open(“文件:dbFileName?\u crypto\u key=auxten”),gorm.Options{})
如果出错!=零{
死机(“连接数据库失败”)
}
// ...

注意:您可以尝试通过使用来避免更新
go gorm/driver/sqlite
中的任何源代码,尽管我不知道如何使用CGO模块,这些模块本身没有一个
go.mod
文件,就像您链接的两个库一样。

我无法想象它为什么不起作用。当你尝试时会发生什么?GORM只是标准访问库的包装器。我看到的两个用于连接加密数据库的包都使用Go的sql包。我没能和GORM一起做这些。这很有效!!非常感谢你。我已经根据你的建议编辑了这个问题,包括我创建的驱动程序,该驱动程序现在已经发布,其他人也可以使用它。