fiberphp / database-sqlite
🪶 FiberPHP SQLite 驱动 —— 文件/内存 DSN、PRAGMA 配置、零网络断线检测,轻量嵌入式。
dev-master
2026-08-23 06:14 UTC
Requires
- php: >=8.3
- ext-pdo: *
- ext-pdo_sqlite: *
- fiberphp/database: dev-master
This package is auto-updated.
Last update: 2026-08-23 06:15:18 UTC
README
FiberPHP 框架的 SQLite 数据库驱动包。支持内存库(:memory:)与文件库两种模式,提供 PRAGMA 字段元数据查询、SQL 标准方言,零配置启动,特别适合单元测试和本地开发。
环境要求
- PHP >= 8.3
ext-pdoext-pdo_sqlitefiberphp/databasedev-master
安装
composer require fiberphp/database-sqlite
安装后框架通过 #[Package] 属性自动发现 Provider,在 register() 阶段调用 Db::registerDriver('sqlite', Driver::class) 完成注册。无需手动配置。
方言实现
| 方法 | SQLite 实现 |
|---|---|
quoteIdentifier | "name" 双引号引用(SQL 标准) |
getColumnsSql | PRAGMA table_info("table") |
getTablesSql | SELECT name FROM sqlite_master WHERE type='table' |
normalizeColumns | 解析 PRAGMA table_info 结果 |
randomFunction | random()(SQL 标准) |
buildUpsertPrefix | ON CONFLICT (target) DO UPDATE SET |
quoteExcludedColumn | EXCLUDED.col |
与 PostgreSQL 驱动共用
SqlStandardDialecttrait(位于核心包FiberPHP\Database\Driver)。SQLite 为进程内嵌入式数据库,无网络断线场景,
isBreak()恒返回false。
配置
// config/database.php
'sqlite' => [
'driver' => 'sqlite',
'database' => '/path/to/db.sqlite', // 文件库
// 'database' => ':memory:', // 内存库(测试推荐)
'prefix' => '',
],
详细用法见 fiberphp/database。