UNPKG

@directus/api

Version:

Directus is a real-time API and App dashboard for managing SQL database content

29 lines (27 loc) 1.03 kB
import { getDefaultIndexName } from "../../../../utils/get-default-index-name.js"; import { SchemaHelper } from "../types.js"; //#region src/database/helpers/schema/dialects/sqlite.ts var SchemaHelperSQLite = class extends SchemaHelper { generateIndexName(type, collection, fields) { return getDefaultIndexName(type, collection, fields, { maxLength: Infinity }); } async preColumnChange() { const foreignCheckStatus = (await this.knex.raw("PRAGMA foreign_keys"))[0].foreign_keys === 1; if (foreignCheckStatus) await this.knex.raw("PRAGMA foreign_keys = OFF"); return foreignCheckStatus; } async postColumnChange() { await this.knex.raw("PRAGMA foreign_keys = ON"); } async getDatabaseSize() { try { const result = await this.knex.raw("SELECT page_count * page_size as \"size\" FROM pragma_page_count(), pragma_page_size();"); return result[0]?.["size"] ? Number(result[0]?.["size"]) : null; } catch { return null; } } addInnerSortFieldsToGroupBy() {} }; //#endregion export { SchemaHelperSQLite };