1.2.0 • Published 1 year ago
@antify/database v1.2.0
Database
It does:
- Merges multiple schemas to one
- Provide a client for each database
- Make fixtures logic
- Make seed logic
- Make migration logic
- Handle multiple migrations from different sources
- Comes with a set of cli commands
- Provides a core and tenant client
- Handle multiple databases for one schema (tenancy)
- Define how things can be extended trought different schemas
- Write docs
- Improve security (root user for tenants is not good)
- Implement rollback mechanism on error
- Implement stop mechanism on error
- Implement migrate down
- Do not always need a schema extension for client. Do it once with a "get schema extension" hook or similar
- Find a way to handle schema options like {timestamps: true}
- Make migrations dir in configuration not required
- Allow multiple migration dirs to add them from different positions (modules)
- Add config with schema extension file path and extend all schemas before migrating, loading fixtures etc. This saves calling it manual all time.
Usage
TODO::
Migration naming
The sorting of the migration names is important. New migrations should be added to the end (sorted ASC). It's recommended to use a timestamp or date as name prefix.
Development
- Run
pnpm build
to generate type stubs. - Run
node bin/ant-db.mjs
to call commands.