【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报错,进而导致数据库无法正常使用

相关推荐
云空12 分钟前
《解锁Netlify:静态网站托管》:此文为AI自动生成
linux·服务器·网络·数据库
数据知道42 分钟前
数据库:一文掌握 PostgreSQL 的各种指令(PostgreSQL指令备忘)
数据库·sql·postgresql
Dnui_King3 小时前
Redis 持久化机制:AOF 与 RDB 详解
数据库·redis
jay丿3 小时前
Django 发送邮件功能详解
数据库·django·sqlite
shix .3 小时前
王者荣耀道具页面爬虫(json格式数据)
数据库·爬虫·json
A__tao4 小时前
在线 SQL 转 Flask-SQLAlchemy
数据库·sql·flask
04Koi.4 小时前
Redis--渐进式遍历
数据库·redis·缓存
铁打的阿秀4 小时前
navicat 创建Oracle连接报错:ora28040 没有匹配的验证协议
数据库·oracle
小杨xyyyyyyy4 小时前
Mysql - 日志相关问题
数据库·mysql·面试
交响梦5 小时前
医院信息系统平台总体架构原则
大数据·数据库·人工智能·架构·健康医疗