数据库
IriX 的存储分两层:本地持久化使用 SQLite,远程数据库操作统一走 Rust。
本地持久化:SQLite
Section titled “本地持久化:SQLite”- 基于
sqflite_common_ffi,由DatabaseManager统一管理 - 所有设置统一存
settings表,无 SharedPreferences - 各领域数据有专属 store:
instance_store.dart(实例)node_store.dart(节点)trash_store.dart(回收站)ai_settings.dart(AI 设置)
远程数据库:db_client
Section titled “远程数据库:db_client”| 数据库 | 驱动 |
|---|---|
| MySQL / MariaDB | 纯 Rust 驱动 |
| PostgreSQL | 纯 Rust 驱动 |
| Redis | 纯 Rust 驱动 |
- 统一入口
db_request:连接测试、浏览、查询、管理 - 无 OpenSSL 依赖,部署更简单
- Dart 侧唯一业务入口:
remote_db_service.dart(经DbClientFfi调用xmc_db_client动态库)
业务代码 │ ▼remote_db_service.dart (唯一业务入口) │ ▼DbClientFfi(db_client_ffi.dart) │ FFI ▼xmc_db_client 动态库 │ 纯 Rust 驱动 ▼MySQL / PostgreSQL / Redis