VersionedSqliteDb Class @beta
Abstract base class for a SQLite database that has RequiredVersionRanges stored in it. This class provides version checking when the database is opened, to guarantee that a valid version of software is always used for access.
Notes:
- This class may be used either to access a local file, or one stored in a cloud container.
- Subclasses must provide a myVersionmember indicating the version of its software, and implement thecreateDDLmember to create its tables.
Extends
Extended by
- PropertyStore.PropertyDb
- SchemaSync.SchemaSyncDb
- ViewStore.ViewDb
Methods
| Name | Description | |
|---|---|---|
| constructor(): VersionedSqliteDb | ||
| createDDL(args: any): void Protected Abstract | Implement this method to create all tables for this subclass of VersionedSqliteDbwhen a new database file is created. | |
| getRequiredVersions(): SQLiteDb.RequiredVersionRanges | Get the required version ranges necessary to open this VersionedSqliteDb. | |
| openDb(dbName: string, openMode: OpenMode | SQLiteDb.OpenParams, container?: CloudSqlite.CloudContainer): void | Open this database and verify that this version of the software meets the required version range (as appropriate, read or write) stored in the database. | |
| setRequiredVersions(versions: SQLiteDb.RequiredVersionRanges): void | Change the "versions required to open this database" property stored in this database. | |
| upgradeSchema(arg: { dbName: string, lockContainer?: { container: CloudSqlite.CloudContainer, user: string }, upgradeFn: () => void }): Promise<void | () => void> | ||
| verifyVersions(): void Protected | Verify that this version of the software meets the required version range (as appropriate, read or write) stored in the database. | |
| createNewDb(fileName: string, setupArgs?: any): void Static | Create a new database file for the subclass of VersionedSqliteDb. | 
Inherited methods
| Name | Inherited from | Description | 
|---|---|---|
| abandonChanges(): void Inherited | SQLiteDb | Abandon (cancel) the outermost transaction, discarding all changes since last save. | 
| closeDb(saveChanges?: boolean): void Inherited | SQLiteDb | Close SQLiteDb. | 
| createDb(dbName: string): void Inherited | SQLiteDb | Create a SQLiteDb | 
| createDb(dbName: string, container?: CloudSqlite.CloudContainer, params?: SQLiteDb.CreateParams): void Inherited | SQLiteDb | |
| createTable(args: { addTimestamp?: boolean, columns: string, constraints?: string, tableName: string }): void Protected Inherited | SQLiteDb | Create a new table in this database. | 
| dispose(): void Inherited | SQLiteDb | alias for closeDb. | 
| executeSQL(sql: string): DbResult Inherited | SQLiteDb | execute an SQL statement | 
| readLastModTime(tableName: string, rowId: number): Date Inherited | SQLiteDb | Get the last modified date for a row in a table of this database. | 
| saveChanges(): void Inherited | SQLiteDb | Commit the outermost transaction, writing changes to the file. | 
| vacuum(args?: SQLiteDb.VacuumDbArgs): void Inherited | SQLiteDb | vacuum this database | 
| withOpenDb<T>(args: SQLiteDb.WithOpenDbArgs, operation: () => T): T Inherited | SQLiteDb | Open a database, perform an operation, then close the database. | 
| withPreparedSqliteStatement<T>(sql: string, callback: (stmt: SqliteStatement) => T): T Inherited | SQLiteDb | Use a prepared SQL statement, potentially from the statement cache. | 
| withSavePoint(savePointName: string, operation: () => void): void Inherited | SQLiteDb | Perform an operation on this database within a savepoint. | 
| withSqliteStatement<T>(sql: string, callback: (stmt: SqliteStatement) => T): T Inherited | SQLiteDb | Prepare and execute a callback on a SQL statement. | 
Properties
| Name | Type | Description | |
|---|---|---|---|
| _versionProps Protected Static | { name: "versions", namespace: "SQLiteDb" } | ||
| myVersion Abstract | string | The current semver "persistence version" of this class. | 
Inherited properties
| Name | Type | Inherited from | Description | 
|---|---|---|---|
| isOpen Accessor Inherited ReadOnly | boolean | SQLiteDb | Returns true if this SQLiteDb is open | 
| isReadonly Accessor Inherited ReadOnly | boolean | SQLiteDb | Returns true if this SQLiteDb is open readonly | 
Defined in
- core/backend/src/SQLiteDb.ts Line 277
Last Updated: 24 June, 2025
Found something wrong, missing, or unclear on this page? Raise an issue in our repo.