【sqlcipher】pc端sqflite使用过程中遇到的问题

在flutter中使用sqlcipher时

Mac上如果通过flutter带的文件管理api(即File的delete()方法)删除数据库文件,再创建同名的数据文件的话,必现readonly问题,

这里需要注意的一点是

DatabaseFactory 在Mac上直接使用全局的databaseFactory即可

而在Windows上需要使用sqflite_ffi.createDatabaseFactoryFfi(ffiInit:(){...})返回的结果

但是如果通过sqlite库的删除数据库的api删除数据库文件的话,再创建同名的数据文件的话,就不会出现readonly问题

而且这里还有一个问题:如果上次数据库没有正常colse的话,再重新open数据库连接会导致database is locked报错,进而导致数据库无法正常使用

相关推荐
运维-大白同学10 分钟前
go-数据库基本操作
开发语言·数据库·golang
R-sz16 分钟前
通过从数据库加载MinIO配置并初始化MinioClient,spring boot之Minio上传
数据库·oracle
洛阳泰山34 分钟前
Windows系统部署MongoDB数据库图文教程
数据库·windows·mongodb
医只鸡腿子1 小时前
3.2/Q2,Charls最新文章解读
数据库·数据挖掘·数据分析·深度优先·数据库开发
bang___bang_1 小时前
PostgreSQL内幕剖析——结构与架构
数据库·postgresql
龙俊亨2 小时前
达梦数据库查看各数据库表内容
数据库
·云扬·3 小时前
【PmHub后端篇】PmHub 中缓存与数据库一致性的实现方案及分析
数据库·缓存
kaixiang3003 小时前
sqli-labs靶场23-28a关(过滤)
数据库·sql
不剪发的Tony老师4 小时前
数据库行业竞争加剧,MySQL 9.3.0 企业版开始支持个人下载
数据库·mysql
淡定是个好东西4 小时前
springboot连接高斯数据库(GaussDB)踩坑指南
数据库·gaussdb