0
Fork 0
mirror of https://github.com/logto-io/logto.git synced 2024-12-30 20:33:54 -05:00

docs(schemas): add migration file readme (#1984)

This commit is contained in:
wangsijie 2022-09-23 14:53:03 +08:00 committed by GitHub
parent ddb0e47950
commit c2aa427016
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -1,3 +1,40 @@
# 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
```ts
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
```ts
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";
`);
};
```