sequelize-db-type
v0.3.9
Published
<h1 align="center"> Sequelize DB Type </h1>
Downloads
7
Readme
Table of contents
- What is Sequelize DB Type?
- Getting Started
- Contributors
"Sequelize DB Type" is a model typedefinitions for the people who use TypeScript as their language when developing backend with Sequelize ORM.
Keep in mind that the generated file is can be edited. Just keep in mind the generated file will be overwritten every time you run a sequelize migration.
- To get started with
sequelize-db-type
, run any of the following commands:
npm
npm i -D sequelize-db-type@latest
- Add your model/migration/seeder folder path to your
package.json
insequelize-db-type
# Rest of your `package.json`
+ "sequelize-db-type": {
+ "models": "your-model-folder-path",
+ "migrations": "your-migration-folder-path",
+ "seeders": "your-seeder-folder-path",
+ }
}
- Add a
prepare
scripts in yourpackage.json
"scripts":{
+ "prepare": "patch-package",
}
- Run the prepare scripts to patch
sequelize-cli
so it will runsequelize-db-type
automatically
# With NPM
yarn run prepare
# With Yarn
yarn run prepare
- Run a sequelize migrations
# With NPM
npx sequelize-cli db:migrate
# With Yarn
yarn sequelize-cli db:migrate
- Add
sequelize-db-type
in yourmodels/index.ts
# Import `sequelize-db-type`
+ import { Database } from 'sequelize-db-type/helper';
# Change db from an object to Database
- let db = {}
+ const db: Database = {} as Database;
- Add
sequelize-db-type
in all of your model inmodels
folder
# Import `sequelize-db-type`
+ import { Database } from 'sequelize-db-type/helper';
# Change `static associate` parameter type
- static associate(models) {
- define association here
- }
+ static associate(models: Database) {
+ define association here
+ }
- Use generated models in your code (e.g.
index.ts
)
// Import the models from 'models' folder
import db from './models';
db.sequelize.drop(); // Should have a type definition now
// Should have a type definition with the correct paramter to pass through
db.users.create({
...payload,
});
We 💖 contributors! Feel free to contribute to this project but please read the Contributing Guidelines before opening an issue or PR so you understand the branching strategy and local development environment.