72 lines
2.5 KiB
TypeScript
72 lines
2.5 KiB
TypeScript
import {
|
|
type SimpleColumnMeta,
|
|
type Type,
|
|
type TransformContext,
|
|
type MikroORM,
|
|
type IsolationLevel,
|
|
} from '@mikro-orm/core';
|
|
import { MySqlSchemaHelper } from './MySqlSchemaHelper.js';
|
|
import { MySqlExceptionConverter } from './MySqlExceptionConverter.js';
|
|
import { AbstractSqlPlatform } from '../../AbstractSqlPlatform.js';
|
|
import type { IndexDef } from '../../typings.js';
|
|
import { MySqlNativeQueryBuilder } from './MySqlNativeQueryBuilder.js';
|
|
export declare class BaseMySqlPlatform extends AbstractSqlPlatform {
|
|
#private;
|
|
protected readonly schemaHelper: MySqlSchemaHelper;
|
|
protected readonly exceptionConverter: MySqlExceptionConverter;
|
|
protected readonly ORDER_BY_NULLS_TRANSLATE: {
|
|
readonly 'asc nulls first': 'is not null';
|
|
readonly 'asc nulls last': 'is null';
|
|
readonly 'desc nulls first': 'is not null';
|
|
readonly 'desc nulls last': 'is null';
|
|
};
|
|
/** @internal */
|
|
createNativeQueryBuilder(): MySqlNativeQueryBuilder;
|
|
getDefaultCharset(): string;
|
|
init(orm: MikroORM): void;
|
|
getBeginTransactionSQL(options?: { isolationLevel?: IsolationLevel; readOnly?: boolean }): string[];
|
|
convertJsonToDatabaseValue(value: unknown, context?: TransformContext): unknown;
|
|
getJsonIndexDefinition(index: IndexDef): string[];
|
|
getBooleanTypeDeclarationSQL(): string;
|
|
normalizeColumnType(
|
|
type: string,
|
|
options: {
|
|
length?: number;
|
|
precision?: number;
|
|
scale?: number;
|
|
},
|
|
): string;
|
|
getDefaultMappedType(type: string): Type<unknown>;
|
|
isNumericColumn(mappedType: Type<unknown>): boolean;
|
|
supportsUnsigned(): boolean;
|
|
/**
|
|
* Returns the default name of index for the given columns
|
|
* cannot go past 64 character length for identifiers in MySQL
|
|
*/
|
|
getIndexName(
|
|
tableName: string,
|
|
columns: string[],
|
|
type: 'index' | 'unique' | 'foreign' | 'primary' | 'sequence',
|
|
): string;
|
|
getDefaultPrimaryName(tableName: string, columns: string[]): string;
|
|
supportsCreatingFullTextIndex(): boolean;
|
|
getFullTextWhereClause(): string;
|
|
getFullTextIndexExpression(
|
|
indexName: string,
|
|
schemaName: string | undefined,
|
|
tableName: string,
|
|
columns: SimpleColumnMeta[],
|
|
): string;
|
|
getOrderByExpression(column: string, direction: string, collation?: string): string[];
|
|
getJsonArrayFromSQL(
|
|
column: string,
|
|
alias: string,
|
|
properties: {
|
|
name: string;
|
|
type: string;
|
|
}[],
|
|
): string;
|
|
getJsonArrayExistsSQL(from: string, where: string): string;
|
|
getDefaultClientUrl(): string;
|
|
}
|