0
Fork 0
mirror of https://github.com/logto-io/logto.git synced 2024-12-16 20:26:19 -05:00
logto/packages/schemas
2024-03-06 16:07:02 +08:00
..
alterations refactor(schemas): regenerate dau table data from logs (#5455) 2024-03-04 14:05:23 +08:00
src chore(schemas): add comments 2024-03-06 16:07:02 +08:00
tables feat(core): support more encrypt methods (#5444) 2024-03-04 03:18:19 +00:00
.gitignore
CHANGELOG.md release: version packages (#5445) 2024-03-01 14:40:25 +08:00
generate.sh
jest.config.js
package.json chore(schemas): upgrade withtyped pacakge 2024-03-04 12:15:57 +08:00
README.md
tsconfig.build.alterations.json
tsconfig.build.gen.json
tsconfig.build.json
tsconfig.json
tsconfig.test.json
update-next.sh

@logto/schemas

The central packages for all database schemas and their TypeScript definitions and utilities.

Table init

The Logto CLI will pick up all necessary SQL queries in tables/ and src/models/ and run them in the following order:

  1. Run tables/_before_all.sql
  2. Run tables/*.sql with the snippet /* init_order = <number> */ in ascending order of <number>
  3. Run tables/*.sql without the init_order snippet in ascending order of filename (tables/) or table name (src/models/)
  4. Run tables/_after_all.sql

Additional rules for step 2 and 3:

  • If no snippet /* no_after_each */ found, run tables/_after_each.sql after each SQL file
  • Exclude lifecycle scripts tables/_[lifecycle].sql where [lifecycle] could be one of:
    • after_all
    • after_each
    • before_all

In the after_each lifecycle script, you can use ${name} to represent the current filename (tables/) or table name (src/models/).

In all lifecycle scripts, you can use ${database} to represent the current database.