MysqlDatabaseAdapter
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.