0
Fork 0
mirror of https://github.com/logto-io/logto.git synced 2024-12-23 20:33:16 -05:00
logto/packages/schemas/migrations
2022-09-23 15:03:32 +08:00
..
next.ts refactor(schemas): decouple migration scripts 2022-09-23 15:03:32 +08:00
README.md refactor(schemas): decouple migration scripts 2022-09-23 15:03:32 +08:00
types.ts refactor(schemas): decouple migration scripts 2022-09-23 15:03:32 +08:00

Database Migrations

The folder for all migration files.

Format

The migration files are named in the format of <version>.ts where version is this npm package's version number.

As for development, the version is "next" until the package is released.

Typing

type MigrationScript = {
  up: (connection: DatabaseTransactionConnection) => Promise<void>;
  down: (connection: DatabaseTransactionConnection) => Promise<void>;
};

When the migration script is executed, the up function is called to alter the database schema.

The down function is designed for the future downgrade feature.

Example

export const up = async (connection) => {
  await connection.query(`
    ALTER TABLE "user"
    ADD COLUMN "email" VARCHAR(255) NOT NULL;
  `);
};

export const down = async (connection) => {
  await connection.query(`
    ALTER TABLE "user"
    DROP COLUMN "email";
  `);
};