typeorm
Version:
Data-Mapper ORM for TypeScript, ES7, ES6, ES5. Supports MySQL, PostgreSQL, MariaDB, SQLite, MS SQL Server, Oracle, MongoDB databases.
55 lines (54 loc) • 2.21 kB
TypeScript
import { Connection } from "../connection/Connection";
import { Migration } from "./Migration";
import { QueryRunner } from "../query-runner/QueryRunner";
/**
* Executes migrations: runs pending and reverts previously executed migrations.
*/
export declare class MigrationExecutor {
protected connection: Connection;
protected queryRunner: QueryRunner | undefined;
/**
* Indicates if migrations must be executed in a transaction.
*/
transaction: boolean;
private readonly migrationsTable;
private readonly migrationsTableName;
constructor(connection: Connection, queryRunner?: QueryRunner | undefined);
/**
* Executes all pending migrations. Pending migrations are migrations that are not yet executed,
* thus not saved in the database.
*/
executePendingMigrations(): Promise<void>;
/**
* Reverts last migration that were run.
*/
undoLastMigration(): Promise<void>;
/**
* Creates table "migrations" that will store information about executed migrations.
*/
protected createMigrationsTableIfNotExist(queryRunner: QueryRunner): Promise<void>;
/**
* Loads all migrations that were executed and saved into the database.
*/
protected loadExecutedMigrations(queryRunner: QueryRunner): Promise<Migration[]>;
/**
* Gets all migrations that setup for this connection.
*/
protected getMigrations(): Migration[];
/**
* Finds the latest migration (sorts by timestamp) in the given array of migrations.
*/
protected getLatestTimestampMigration(migrations: Migration[]): Migration | undefined;
/**
* Finds the latest migration (sorts by id) in the given array of migrations.
*/
protected getLatestExecutedMigration(migrations: Migration[]): Migration | undefined;
/**
* Inserts new executed migration's data into migrations table.
*/
protected insertExecutedMigration(queryRunner: QueryRunner, migration: Migration): Promise<void>;
/**
* Delete previously executed migration's data from the migrations table.
*/
protected deleteExecutedMigration(queryRunner: QueryRunner, migration: Migration): Promise<void>;
}