MysqlDatabaseAdapter

View Source

Summary

DatabaseAdapter implementation for mysql-compatible clients.

Signature

class MysqlDatabaseAdapter {
  constructor(client: MysqlQueryable): MysqlDatabaseAdapter;

  // Properties
  capabilities: {
    migrationLock: boolean;
    returning: boolean;
    savepoints: boolean;
    transactionalDdl: boolean;
    upsert: boolean;
  };
  dialect: string;

  // Methods
  acquireMigrationLock(): Promise<void>;
  beginTransaction(options: TransactionOptions): Promise<TransactionToken>;
  commitTransaction(token: TransactionToken): Promise<void>;
  compileSql(
    operation:
      | SelectOperation<AnyTable>
      | CountOperation<AnyTable>
      | ExistsOperation<AnyTable>
      | InsertOperation<AnyTable>
      | InsertManyOperation<AnyTable>
      | UpdateOperation<AnyTable>
      | DeleteOperation<AnyTable>
      | UpsertOperation<AnyTable>
      | RawOperation
      | CreateTableOperation
      | AlterTableOperation
      | RenameTableOperation
      | DropTableOperation
      | CreateIndexOperation
      | DropIndexOperation
      | RenameIndexOperation
      | AddForeignKeyOperation
      | DropForeignKeyOperation
      | AddCheckOperation
      | DropCheckOperation,
  ): SqlStatement[];
  createSavepoint(token: TransactionToken, name: string): Promise<void>;
  execute(request: DataManipulationRequest): Promise<DataManipulationResult>;
  hasColumn(
    table: TableRef,
    column: string,
    transaction: TransactionToken,
  ): Promise<boolean>;
  hasTable(table: TableRef, transaction: TransactionToken): Promise<boolean>;
  migrate(request: DataMigrationRequest): Promise<DataMigrationResult>;
  releaseMigrationLock(): Promise<void>;
  releaseSavepoint(token: TransactionToken, name: string): Promise<void>;
  rollbackToSavepoint(token: TransactionToken, name: string): Promise<void>;
  rollbackTransaction(token: TransactionToken): Promise<void>;
}

Constructor Params

client

Properties

capabilities

Feature flags describing the mysql behaviors supported by this adapter.

dialect

The SQL dialect identifier reported by this adapter.

Methods

acquireMigrationLock(): Promise

Acquires the mysql migration lock.

beginTransaction(options: TransactionOptions): Promise

Starts a mysql transaction.

options

Transaction options.

commitTransaction(token: TransactionToken): Promise

Commits an open mysql transaction.

token

Transaction token to commit.

compileSql(operation: SelectOperation | CountOperation | ExistsOperation | InsertOperation | InsertManyOperation | UpdateOperation | DeleteOperation | UpsertOperation | RawOperation | CreateTableOperation | AlterTableOperation | RenameTableOperation | DropTableOperation | CreateIndexOperation | DropIndexOperation | RenameIndexOperation | AddForeignKeyOperation | DropForeignKeyOperation | AddCheckOperation | DropCheckOperation): SqlStatement[]

Compiles a data or migration operation to mysql SQL statements.

operation

Operation to compile.

createSavepoint(token: TransactionToken, name: string): Promise

Creates a savepoint in an open mysql transaction.

token

Transaction token to use.

name

Savepoint name.

execute(request: DataManipulationRequest): Promise

Executes a mysql data-manipulation request.

request

Request to execute.

hasColumn(table: TableRef, column: string, transaction: TransactionToken): Promise

Checks whether a column exists in mysql.

table

Table reference to inspect.

column

Column name to look up.

transaction

Optional transaction token.

hasTable(table: TableRef, transaction: TransactionToken): Promise

Checks whether a table exists in mysql.

table

Table reference to inspect.

transaction

Optional transaction token.

migrate(request: DataMigrationRequest): Promise

Executes mysql migration operations.

request

Migration request to execute.

releaseMigrationLock(): Promise

Releases the mysql migration lock.

releaseSavepoint(token: TransactionToken, name: string): Promise

Releases a savepoint in an open mysql transaction.

token

Transaction token to use.

name

Savepoint name.

rollbackToSavepoint(token: TransactionToken, name: string): Promise

Rolls back to a savepoint in an open mysql transaction.

token

Transaction token to use.

name

Savepoint name.

rollbackTransaction(token: TransactionToken): Promise

Rolls back an open mysql transaction.

token

Transaction token to roll back.