Files
evento/node_modules/@mikro-orm/sql/dialects/mysql/BaseMySqlPlatform.d.ts
2026-03-18 14:55:56 -03:00

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;
}