sequelize-typescript icon indicating copy to clipboard operation
sequelize-typescript copied to clipboard

Adding custom columns to multiple database tables by extending Model class

Open jorgenlaaker2 opened this issue 4 years ago • 0 comments

Adding custom columns to the database models by extending the Model class

Versions

"@nestjs/common": "^8.0.8", "sequelize": "^6.6.2", "sequelize-typescript": "^2.1.0" "typescript": "^4.5.5"

Issue type

  • [ ] bug report
  • [x] feature request

Related code

We would like to add custom columns to multiple tables. So we created a BaseModel that extends Model class. And basically this works, but the extra columns add as first columns. We would like to be able to add custom columns like adding createdAt, updatedAt, deletedAt as additional info.

Our BaseModel:

import { BelongsTo, Column, DataType, ForeignKey, Model} from "sequelize-typescript";
import { User } from "src/modules/core/user/model/user.model";

export class BaseModel<T extends Model<T>> extends Model<T> {
  @ForeignKey(() => User)
  @Column({
    type: DataType.UUID,
    allowNull: true,
  })
  creatorId?: string;

  @BelongsTo(() => User)
  creator?: User;
}

jorgenlaaker2 avatar Oct 13 '21 09:10 jorgenlaaker2