基于 SQLite 数据库文件的存储后端:一个 JSql 数据库 = 一个 .sqlite 文件, 库内所有表共存于同一个 SQLite 文件。
行数据写入 SQLite 文件的表;JSql 的完整模式元数据(列类型原始文本、COMMENT、 DEFAULT、表级 UNIQUE KEY/KEY 等 SQLite DDL 无法承载的信息)与列索引 (.indexes)保存在库的辅助目录 <root>\.jsql\<db>\ 之中, 从而复用 SchemaStore 与 IndexPersistence,并让 DESCRIBE / SHOW STORAGE / 列索引全部照常工作。
05 Members
DbFilePath(String)
数据库文件路径:<root><db>.sqlite
DatabaseDir(String)
辅助目录:存放 <表>.schema.json 与 .indexes
IsLegacyTable(String, String)
GetWriter(String)
获取(按需打开或创建)某个数据库的写入器;同一数据库共享一个实例。
method
TryGetTableWriter
#
TryGetTableWriter(String, String)
已存在表对应的可写模型,不存在时返回 Nothing。
method
EnsureTableSchema
#
EnsureTableSchema(String, String, TableSchema)
确保存在与 schema 列集合匹配的 SQLite 表(列集合变化时重建)。
method
GetOrCreateTableWriter
#
GetOrCreateTableWriter(String, String, TableSchema)
SchemaOf(Sqlite3TableWriter, String)
由 SQLite 表的 DDL 反解出 JSql table schema(回退到列定义)。
field
SqliteDataExtension
#
SqliteDataExtension
field
AuxiliaryDirectory
#
AuxiliaryDirectory
field
SqliteDataExtension
overload 2
#
SqliteDataExtension
field
AuxiliaryDirectory
overload 2
#
AuxiliaryDirectory
property
CurrentDatabase
#
CurrentDatabase
TableExists(String, String)
FindTableFile(String, String)
OpenSession(String, String)
TryGetSession(String, String)
LoadTable(String, String)
SaveTable(String, StoredTable)
DeleteTable(String, String)