Skip to main content

Type Alias: MigrationContext

MigrationContext = object

Defined in: migrations/types.ts:38

What a migration's up receives. The helpers run raw SQL on a connection that belongs to the runner, deliberately beside the ORM: a migration running through the models would describe the schema it is in the middle of changing.

Properties​

addColumnIfMissing​

addColumnIfMissing: (args) => Promise<void>

Defined in: migrations/types.ts:70

ALTER TABLE … ADD COLUMN IF NOT EXISTS, nullable. type is SQL and is inlined, so it must come from the migration, never from its arguments.

Parameters​

ParameterType
argsColumnArgs & object

Returns​

Promise<void>


args​

args: MigrationArgs

Defined in: migrations/types.ts:48


client​

client: Sequelize

Defined in: migrations/types.ts:40

The runner's own Sequelize instance, for anything the helpers do not cover.


columnExists​

columnExists: (args) => Promise<boolean>

Defined in: migrations/types.ts:64

Parameters​

ParameterType
argsColumnArgs

Returns​

Promise<boolean>


countOf​

countOf: (args) => Promise<number>

Defined in: migrations/types.ts:62

One number out of a count(*), which Postgres returns as a bigint string.

Parameters​

ParameterType
argsSqlArgs

Returns​

Promise<number>


dropColumnIfExists​

dropColumnIfExists: (args) => Promise<void>

Defined in: migrations/types.ts:73

Parameters​

ParameterType
argsColumnArgs

Returns​

Promise<void>


dryRun​

dryRun: boolean

Defined in: migrations/types.ts:47

When true, every write helper (run, sync, addColumnIfMissing, setNotNull, dropColumnIfExists) logs what it would do and does nothing. select and the existence probes still read, so a migration can report what a real run would change.


indexExists​

indexExists: (args) => Promise<boolean>

Defined in: migrations/types.ts:65

Parameters​

ParameterType
args{ index: string; }
args.indexstring

Returns​

Promise<boolean>


run​

run: (args) => Promise<void>

Defined in: migrations/types.ts:60

Any statement that writes. Skipped on a dry run.

Parameters​

ParameterType
argsSqlArgs

Returns​

Promise<void>


say​

say: (message) => void

Defined in: migrations/types.ts:50

Progress lines, written through the runner's logger.

Parameters​

ParameterType
messagestring

Returns​

void


select​

select: <T>(args) => Promise<T[]>

Defined in: migrations/types.ts:58

SELECT rows out. Always executes, even on a dry run.

Type Parameters​

Type Parameter
T

Parameters​

ParameterType
argsSqlArgs

Returns​

Promise<T[]>


setNotNull​

setNotNull: (args) => Promise<void>

Defined in: migrations/types.ts:72

Idempotent: Postgres accepts SET NOT NULL on a column that has it.

Parameters​

ParameterType
argsColumnArgs

Returns​

Promise<void>


sync​

sync: () => Promise<void>

Defined in: migrations/types.ts:56

The application's schema sync, when the runner was given one. A migration calls it after making a column exist and before applying the constraints the models declare, so the sync can create the indexes over it.

Returns​

Promise<void>


tableExists​

tableExists: (args) => Promise<boolean>

Defined in: migrations/types.ts:63

Parameters​

ParameterType
args{ table: string; }
args.tablestring

Returns​

Promise<boolean>