This commit is contained in:
Tutur33
2023-11-24 22:35:41 +01:00
parent 3c0b507a93
commit 7644b2a0f7
45165 changed files with 4803356 additions and 3 deletions
+59
View File
@@ -0,0 +1,59 @@
/// <reference path="../../adonis-typings/index.d.ts" />
import { DialectContract, QueryClientContract, SqliteConfig } from '@ioc:Adonis/Lucid/Database';
export declare abstract class BaseSqliteDialect implements DialectContract {
private client;
private config;
abstract readonly name: 'sqlite3' | 'better-sqlite3';
readonly supportsAdvisoryLocks = false;
readonly supportsViews = true;
readonly supportsTypes = false;
readonly supportsReturningStatement = false;
/**
* Reference to the database version. Knex.js fetches the version after
* the first database query, so it will be set to undefined initially
*/
readonly version: any;
/**
* The default format for datetime column. The date formats is
* valid for luxon date parsing library
*/
readonly dateTimeFormat = "yyyy-MM-dd HH:mm:ss";
constructor(client: QueryClientContract, config: SqliteConfig);
/**
* Returns an array of table names
*/
getAllTables(): Promise<any[]>;
/**
* Returns an array of all views names
*/
getAllViews(): Promise<string[]>;
/**
* Returns an array of all types names
*/
getAllTypes(): Promise<string[]>;
/**
* Truncate SQLITE tables
*/
truncate(table: string): Promise<void>;
/**
* Drop all tables inside the database
*/
dropAllTables(): Promise<void>;
/**
* Drop all views inside the database
*/
dropAllViews(): Promise<void>;
/**
* Drop all custom types inside the database
*/
dropAllTypes(): Promise<void>;
/**
* Attempts to add advisory lock to the database and
* returns it's status.
*/
getAdvisoryLock(): Promise<boolean>;
/**
* Releases the advisory lock
*/
releaseAdvisoryLock(): Promise<boolean>;
}