fiberphp/database-sqlite

🪶 FiberPHP SQLite 驱动 —— 文件/内存 DSN、PRAGMA 配置、零网络断线检测,轻量嵌入式。

Maintainers

Package info

gitee.com/FiberPHP/database-sqlite

Issues

pkg:composer/fiberphp/database-sqlite

Transparency log

Statistics

Installs: 0

Dependents: 2

Suggesters: 0

dev-master 2026-08-23 06:14 UTC

This package is auto-updated.

Last update: 2026-08-23 06:15:18 UTC


README

FiberPHP 框架的 SQLite 数据库驱动包。支持内存库(:memory:)与文件库两种模式,提供 PRAGMA 字段元数据查询、SQL 标准方言,零配置启动,特别适合单元测试和本地开发。

环境要求

  • PHP >= 8.3
  • ext-pdo
  • ext-pdo_sqlite
  • fiberphp/database dev-master

安装

composer require fiberphp/database-sqlite

安装后框架通过 #[Package] 属性自动发现 Provider,在 register() 阶段调用 Db::registerDriver('sqlite', Driver::class) 完成注册。无需手动配置。

方言实现

方法SQLite 实现
quoteIdentifier"name" 双引号引用(SQL 标准)
getColumnsSqlPRAGMA table_info("table")
getTablesSqlSELECT name FROM sqlite_master WHERE type='table'
normalizeColumns解析 PRAGMA table_info 结果
randomFunctionrandom()(SQL 标准)
buildUpsertPrefixON CONFLICT (target) DO UPDATE SET
quoteExcludedColumnEXCLUDED.col

与 PostgreSQL 驱动共用 SqlStandardDialect trait(位于核心包 FiberPHP\Database\Driver)。

SQLite 为进程内嵌入式数据库,无网络断线场景,isBreak() 恒返回 false

配置

// config/database.php
'sqlite' => [
    'driver'   => 'sqlite',
    'database' => '/path/to/db.sqlite',  // 文件库
    // 'database' => ':memory:',          // 内存库(测试推荐)
    'prefix'   => '',
],

详细用法见 fiberphp/database