{"id":41951,"library":"sequelizejs-decorators","title":"SequelizeJS Decorators","description":"Provides TypeScript decorators (Entity, Column, BelongsTo, HasMany, etc.) for defining Sequelize v6 models declaratively. Current version 6.1.7 aligns with Sequelize major version 6. Ships TypeScript declarations. Requires `experimentalDecorators` and `emitDecoratorMetadata` in tsconfig. Release cadence follows Sequelize major versions. Key differentiator: allows schema definition entirely via decorators, reducing boilerplate versus traditional Sequelize model definitions.","status":"active","version":"6.1.7","language":"javascript","source_language":"en","source_url":"https://github.com/weagle08/sequelizejs-decorators","tags":["javascript","sequelize","sequelize-decorators","sequelizejs-decorators","orm","orm-decorators","typescript"],"install":[{"cmd":"npm install sequelizejs-decorators","lang":"bash","label":"npm"},{"cmd":"yarn add sequelizejs-decorators","lang":"bash","label":"yarn"},{"cmd":"pnpm add sequelizejs-decorators","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Peer dependency; decorators generate Sequelize model definitions at runtime","package":"sequelize","optional":false}],"imports":[{"note":"ESM import is the recommended pattern; CommonJS require is also supported for CJS projects.","wrong":"const Entity = require('sequelizejs-decorators').Entity;","symbol":"Entity","correct":"import { Entity } from 'sequelizejs-decorators'"},{"note":"All decorators are exported from the package root; no need for deep imports.","wrong":"import { Column } from 'sequelizejs-decorators/lib/Column';","symbol":"Column","correct":"import { Column } from 'sequelizejs-decorators'"},{"note":"The function to register entities and sync Sequelize models is exported from the main entry.","wrong":"import { registerEntities } from 'sequelizejs-decorators/lib/register';","symbol":"registerEntities","correct":"import { registerEntities } from 'sequelizejs-decorators'"},{"note":"DataType is a named export, not a default export. Default export is not provided.","wrong":"import DataType from 'sequelizejs-decorators';","symbol":"DataType","correct":"import { DataType } from 'sequelizejs-decorators'"}],"quickstart":{"code":"import { Sequelize } from 'sequelize';\nimport { Entity, PrimaryGeneratedColumn, Column } from 'sequelizejs-decorators';\nimport { registerEntities } from 'sequelizejs-decorators';\n\n@Entity()\nclass User {\n  @PrimaryGeneratedColumn()\n  id: number;\n\n  @Column({ type: DataType.STRING(255) })\n  name: string;\n}\n\nconst sequelize = new Sequelize('sqlite::memory:');\nregisterEntities(sequelize);\nawait sequelize.sync();\n\nconst user = await UserModel.create({ name: 'Alice' });\nconsole.log(user.id);","lang":"typescript","description":"Shows minimal setup: define a User entity, register with Sequelize instance, sync, and create a record."},"warnings":[{"fix":"Use `public` keyword instead of `pubilc`.","message":"The decorator `pubilc` is a typo in the README example; correct is `public`.","severity":"deprecated","affected_versions":"ALL"},{"fix":"Add \"experimentalDecorators\": true and \"emitDecoratorMetadata\": true to tsconfig.json compilerOptions.","message":"Requires `experimentalDecorators` and `emitDecoratorMetadata` in tsconfig. Missing these will cause runtime errors.","severity":"gotcha","affected_versions":"ALL"},{"fix":"Use sequelizejs-decorators v5.x for Sequelize v5.","message":"Version 6.x requires Sequelize v6. Using with Sequelize v5 or v7 will cause incompatibility.","severity":"breaking","affected_versions":">=6.0.0"},{"fix":"Add @PrimaryGeneratedColumn() or @PrimaryColumn() to one property.","message":"Each entity class must have exactly one @PrimaryGeneratedColumn or @PrimaryColumn decorator. Missing primary key causes model sync errors.","severity":"gotcha","affected_versions":"ALL"},{"fix":"Use arrow function: @HasMany(() => Player) instead of @HasMany(Player).","message":"Association decorators (@BelongsTo, @HasMany, @ManyToMany) require a callback returning the related class to avoid circular dependency issues.","severity":"gotcha","affected_versions":"ALL"}],"env_vars":null,"search_vec":"'6':25 '6.1.7':19 'align':20 'allow':43 'belongsto':8 'boilerpl':50 'cadenc':36 'column':7 'current':17 'declar':16,28 'decor':2,5,48,60,63,67 'defin':12 'definit':45,55 'differenti':42 'emitdecoratormetadata':32 'entir':46 'entiti':6 'etc':10 'experimentaldecor':30 'follow':37 'hasmani':9 'javascript':56 'key':41 'major':23,39 'model':15,54 'orm':64,66 'orm-decor':65 'provid':3 'reduc':49 'releas':35 'requir':29 'schema':44 'sequel':13,22,38,53,57,59 'sequelize-decor':58 'sequelizej':1,62 'sequelizejs-decor':61 'ship':26 'tradit':52 'tsconfig':34 'typescript':4,27,68 'v6':14 'version':18,24,40 'versus':51 'via':47","created_at":"2026-06-04T18:54:54.192851+00:00","updated_at":"2026-06-04T18:54:54.192851+00:00","problems":[{"fix":"Ensure both your project and this package use the same module system. Use `import` for ESM, `require` for CJS.","cause":"Using CJS require when package is consumed as ESM, or vice versa.","error":"TypeError: (0 , sequelizejs_decorators_1.Entity) is not a function"},{"fix":"Call `registerEntities(sequelize)` with your Sequelize instance before synchronizing models.","cause":"Forgetting to call `registerEntities(sequelize)` after defining entity classes.","error":"Sequelize requires a model definition, but the class is not registered."},{"fix":"Use `import { DataType } from 'sequelizejs-decorators';`","cause":"DataType is a named export; importing it incorrectly (e.g., default import) or not importing at all.","error":"Cannot find name 'DataType'."},{"fix":"Add @PrimaryGeneratedColumn() or @PrimaryColumn() to a property.","cause":"Entity class is missing a primary key decorator.","error":"Error: No PrimaryKey defined for model User."}],"ecosystem":"npm","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":null,"cli_version":null,"type":"library","homepage":"https://github.com/weagle08/sequelizejs-decorators#readme","github":"https://github.com/weagle08/sequelizejs-decorators","docs":null,"changelog":null,"pypi":null,"npm":"sequelizejs-decorators","openapi_spec":null,"status_page":null,"smithery":null,"categories":["database"],"base_url":null,"auth_type":null,"provenance":{"verified_status":null,"verified_at":null,"last_verified":"2026-06-04","next_check":"2026-09-02","install_tag":null}}