Skip to main content
Version: 6.1

BetterSqlitePlatform

Hierarchy

Index

Constructors

Methods

Constructors

constructor

Methods

allowsComparingTuples

  • allowsComparingTuples(): boolean
  • Returns boolean

allowsMultiInsert

  • allowsMultiInsert(): boolean
  • Returns boolean

allowsUniqueBatchUpdates

  • allowsUniqueBatchUpdates(): boolean
  • Returns boolean

cloneEmbeddable

  • cloneEmbeddable<T>(data: T): T
  • Type parameters

    • T

    Parameters

    • data: T

    Returns T

convertIntervalToDatabaseValue

  • convertIntervalToDatabaseValue(value: unknown): unknown
  • Parameters

    • value: unknown

    Returns unknown

convertIntervalToJSValue

  • convertIntervalToJSValue(value: string): unknown
  • Parameters

    • value: string

    Returns unknown

convertJsonToDatabaseValue

  • Parameters

    Returns unknown

convertJsonToJSValue

  • convertJsonToJSValue(value: unknown): unknown
  • Parameters

    • value: unknown

    Returns unknown

convertsJsonAutomatically

  • convertsJsonAutomatically(): boolean
  • Returns boolean

denormalizePrimaryKey

  • denormalizePrimaryKey(data: IPrimaryKeyValue): IPrimaryKeyValue
  • Converts scalar primary key representation to native driver wrapper (e.g. string to mongodb's ObjectId)


    Parameters

    • data: IPrimaryKeyValue

    Returns IPrimaryKeyValue

extractSimpleType

  • extractSimpleType(type: string): string
  • Parameters

    • type: string

    Returns string

formatQuery

  • formatQuery(sql: string, params: readonly any[]): string
  • Parameters

    • sql: string
    • params: readonly any[]

    Returns string

generateCustomOrder

  • generateCustomOrder(escapedColumn: string, values: unknown[]): string
  • Generates a custom order by statement given a set of in order values, eg. ORDER BY (CASE WHEN priority = 'low' THEN 1 WHEN priority = 'medium' THEN 2 ELSE NULL END)


    Parameters

    • escapedColumn: string
    • values: unknown[]

    Returns string

getArrayDeclarationSQL

  • getArrayDeclarationSQL(): string
  • Returns string

getBigIntTypeDeclarationSQL

  • getBigIntTypeDeclarationSQL(column: { autoincrement?: boolean; length?: number; unsigned?: boolean }): string
  • Parameters

    • column: { autoincrement?: boolean; length?: number; unsigned?: boolean }

    Returns string

getBlobDeclarationSQL

  • getBlobDeclarationSQL(): string
  • Returns string

getBooleanTypeDeclarationSQL

  • getBooleanTypeDeclarationSQL(): string
  • Returns string

getConfig

getCurrentTimestampSQL

  • getCurrentTimestampSQL(length: number): string
  • Returns the SQL specific for the platform to get the current timestamp


    Parameters

    • length: number

    Returns string

getDateTimeTypeDeclarationSQL

  • getDateTimeTypeDeclarationSQL(column: { length: number }): string
  • Parameters

    • column: { length: number }

    Returns string

getDateTypeDeclarationSQL

  • getDateTypeDeclarationSQL(length?: number): string
  • Parameters

    • optionallength: number

    Returns string

getDecimalTypeDeclarationSQL

  • getDecimalTypeDeclarationSQL(column: { precision?: number; scale?: number }): string
  • Parameters

    • column: { precision?: number; scale?: number }

    Returns string

getDefaultCharset

  • getDefaultCharset(): string
  • Returns string

getDefaultDateTimeLength

  • getDefaultDateTimeLength(): number
  • Returns number

getDefaultMappedType

  • getDefaultMappedType(type: string): Type<unknown, unknown>
  • Parameters

    • type: string

    Returns Type<unknown, unknown>

getDefaultPrimaryName

  • getDefaultPrimaryName(tableName: string, columns: string[]): string
  • Parameters

    • tableName: string
    • columns: string[]

    Returns string

getDefaultSchemaName

  • getDefaultSchemaName(): undefined | string
  • Returns undefined | string

getDefaultVersionLength

  • getDefaultVersionLength(): number
  • Returns number

getDoubleDeclarationSQL

  • getDoubleDeclarationSQL(): string
  • Returns string

getEnumTypeDeclarationSQL

  • getEnumTypeDeclarationSQL(column: { autoincrement?: boolean; fieldNames: string[]; items?: unknown[]; length?: number; unsigned?: boolean }): string
  • Parameters

    • column: { autoincrement?: boolean; fieldNames: string[]; items?: unknown[]; length?: number; unsigned?: boolean }

    Returns string

getExceptionConverter

getFloatDeclarationSQL

  • getFloatDeclarationSQL(): string
  • Returns string

getFullTextIndexExpression

  • getFullTextIndexExpression(indexName: string, schemaName: undefined | string, tableName: string, columns: SimpleColumnMeta[]): string
  • Parameters

    • indexName: string
    • schemaName: undefined | string
    • tableName: string
    • columns: SimpleColumnMeta[]

    Returns string

getFullTextWhereClause

  • Parameters

    Returns string

getIndexName

  • getIndexName(tableName: string, columns: string[], type: primary | index | unique | foreign | sequence): string
  • Returns the default name of index for the given columns


    Parameters

    • tableName: string
    • columns: string[]
    • type: primary | index | unique | foreign | sequence

    Returns string

getIntegerTypeDeclarationSQL

  • getIntegerTypeDeclarationSQL(column: { autoincrement?: boolean; length?: number; unsigned?: boolean }): string
  • Parameters

    • column: { autoincrement?: boolean; length?: number; unsigned?: boolean }

    Returns string

getIntervalTypeDeclarationSQL

  • getIntervalTypeDeclarationSQL(column: { length?: number }): string
  • Parameters

    • column: { length?: number }

    Returns string

getJsonDeclarationSQL

  • getJsonDeclarationSQL(): string
  • Returns string

getJsonIndexDefinition

  • getJsonIndexDefinition(index: IndexDef): string[]
  • Parameters

    Returns string[]

getMappedType

  • getMappedType(type: string): Type<unknown, unknown>
  • Parameters

    • type: string

    Returns Type<unknown, unknown>

getMediumIntTypeDeclarationSQL

  • getMediumIntTypeDeclarationSQL(column: { autoincrement?: boolean; length?: number; unsigned?: boolean }): string
  • Parameters

    • column: { autoincrement?: boolean; length?: number; unsigned?: boolean }

    Returns string

getNamingStrategy

getRegExpOperator

  • getRegExpOperator(val?: unknown, flags?: string): string
  • Parameters

    • optionalval: unknown
    • optionalflags: string

    Returns string

getRegExpValue

  • getRegExpValue(val: RegExp): { $flags?: string; $re: string }
  • Parameters

    • val: RegExp

    Returns { $flags?: string; $re: string }

    • optional$flags?: string
    • $re: string

getRepositoryClass

getSchemaGenerator

getSchemaHelper

  • Returns undefined | SchemaHelper

getSearchJsonPropertyKey

  • getSearchJsonPropertyKey(path: string[], type: string, aliased: boolean, value?: unknown): string
  • Parameters

    • path: string[]
    • type: string
    • aliased: boolean
    • optionalvalue: unknown

    Returns string

getSearchJsonPropertySQL

  • getSearchJsonPropertySQL(path: string, type: string, aliased: boolean): string
  • Parameters

    • path: string
    • type: string
    • aliased: boolean

    Returns string

getSerializedPrimaryKeyField

  • getSerializedPrimaryKeyField(field: string): string
  • Used when serializing via toObject and toJSON methods, allows to use different PK field name (like id instead of _id)


    Parameters

    • field: string

    Returns string

getSmallIntTypeDeclarationSQL

  • getSmallIntTypeDeclarationSQL(column: { autoincrement?: boolean; length?: number; unsigned?: boolean }): string
  • Parameters

    • column: { autoincrement?: boolean; length?: number; unsigned?: boolean }

    Returns string

getTextTypeDeclarationSQL

  • getTextTypeDeclarationSQL(_column: { length?: number }): string
  • Parameters

    • _column: { length?: number }

    Returns string

getTimeTypeDeclarationSQL

  • getTimeTypeDeclarationSQL(length?: number): string
  • Parameters

    • optionallength: number

    Returns string

getTimezone

  • getTimezone(): undefined | string
  • Returns undefined | string

getTinyIntTypeDeclarationSQL

  • getTinyIntTypeDeclarationSQL(column: { autoincrement?: boolean; length?: number; unsigned?: boolean }): string
  • Parameters

    • column: { autoincrement?: boolean; length?: number; unsigned?: boolean }

    Returns string

getUuidTypeDeclarationSQL

  • getUuidTypeDeclarationSQL(column: { length?: number }): string
  • Parameters

    • column: { length?: number }

    Returns string

getVarcharTypeDeclarationSQL

  • getVarcharTypeDeclarationSQL(column: { length?: number }): string
  • Parameters

    • column: { length?: number }

    Returns string

indexForeignKeys

  • indexForeignKeys(): boolean
  • Returns boolean

isAllowedTopLevelOperator

  • isAllowedTopLevelOperator(operator: string): boolean
  • Parameters

    • operator: string

    Returns boolean

isBigIntProperty

  • Parameters

    Returns boolean

isNumericColumn

  • isNumericColumn(mappedType: Type<unknown, unknown>): boolean
  • Parameters

    • mappedType: Type<unknown, unknown>

    Returns boolean

isPopulated

  • isPopulated<T>(key: string, populate: boolean | PopulateOptions<T>[]): boolean
  • Type parameters

    • T

    Parameters

    Returns boolean

isRaw

  • isRaw(value: any): boolean
  • Parameters

    • value: any

    Returns boolean

lookupExtensions

marshallArray

  • marshallArray(values: string[]): string
  • Parameters

    • values: string[]

    Returns string

normalizePrimaryKey

  • normalizePrimaryKey<T>(data: IPrimaryKeyValue | Primary<T>): T
  • Normalizes primary key wrapper to scalar value (e.g. mongodb's ObjectId to string)


    Type parameters

    • T: string | number = string | number

    Parameters

    • data: IPrimaryKeyValue | Primary<T>

    Returns T

parseDate

  • parseDate(value: string | number): Date
  • Parameters

    • value: string | number

    Returns Date

processDateProperty

  • processDateProperty(value: unknown): string | number | Date
  • This is used to narrow the value of Date properties as they will be stored as timestamps in sqlite. We use this method to convert Dates to timestamps when computing the changeset, so we have the right data type in the payload as well as in original entity data. Without that, we would end up with diffs including all Date properties, as we would be comparing Date object with timestamp.


    Parameters

    • value: unknown

    Returns string | number | Date

quoteIdentifier

  • quoteIdentifier(id: string, quote?: string): string
  • Parameters

    • id: string
    • quote: string = '`'

    Returns string

quoteValue

  • quoteValue(value: any): string
  • Parameters

    • value: any

    Returns string

quoteVersionValue

  • quoteVersionValue(value: number | Date, prop: EntityProperty<any, any>): string | number | Date
  • Parameters

    Returns string | number | Date

setConfig

shouldHaveColumn

  • shouldHaveColumn<T>(prop: EntityProperty<T, any>, populate: boolean | PopulateOptions<T>[], exclude?: string[], includeFormulas?: boolean): boolean
  • Type parameters

    • T

    Parameters

    Returns boolean

supportsCreatingFullTextIndex

  • supportsCreatingFullTextIndex(): boolean
  • Returns boolean

supportsCustomPrimaryKeyNames

  • supportsCustomPrimaryKeyNames(): boolean
  • Returns boolean

supportsDownMigrations

  • supportsDownMigrations(): boolean
  • Currently not supported due to how knex does complex sqlite diffing (always based on current schema)


    Returns boolean

supportsMultipleStatements

  • supportsMultipleStatements(): boolean
  • Returns boolean

supportsNativeEnums

  • supportsNativeEnums(): boolean
  • for postgres native enums


    Returns boolean

supportsSchemas

  • supportsSchemas(): boolean
  • Returns boolean

supportsTransactions

  • supportsTransactions(): boolean
  • Returns boolean

supportsUnsigned

  • supportsUnsigned(): boolean
  • Returns boolean

unmarshallArray

  • unmarshallArray(value: string): string[]
  • Parameters

    • value: string

    Returns string[]

usesBatchInserts

  • usesBatchInserts(): boolean
  • Whether or not the driver supports retuning list of created PKs back when multi-inserting


    Returns boolean

usesBatchUpdates

  • usesBatchUpdates(): boolean
  • Whether or not the driver supports updating many records at once


    Returns boolean

usesCascadeStatement

  • usesCascadeStatement(): boolean
  • Returns boolean

usesDefaultKeyword

  • usesDefaultKeyword(): boolean
  • Returns boolean

usesDifferentSerializedPrimaryKey

  • usesDifferentSerializedPrimaryKey(): boolean
  • Returns boolean

usesImplicitTransactions

  • usesImplicitTransactions(): boolean
  • Returns boolean

usesPivotTable

  • usesPivotTable(): boolean
  • Returns boolean

usesReturningStatement

  • usesReturningStatement(): boolean
  • Returns boolean

validateMetadata

  • Parameters

    Returns void