import { Sequelize, DataTypes, Optional, Model } from "sequelize" interface ColorCateAttributes { id: number name: string alias: string describe: string createdAt?: Date updatedAt?: Date deletedAt?: Date } export interface ColorCateInput extends Optional {} export interface ColorCateOutput extends Required {} export type TColorCateModel = ReturnType export default function ColorCateModel(sequelize: Sequelize) { interface ColorCateInstance extends Model, ColorCateAttributes {} const ColorCate = sequelize.define( "color_cate", { id: { type: DataTypes.INTEGER, autoIncrement: true, primaryKey: true, }, name: { type: DataTypes.STRING, allowNull: false, }, alias: { type: DataTypes.STRING, }, describe: { type: DataTypes.STRING, }, }, { underscored: true, deletedAt: true, paranoid: true, timestamps: true, }, ) // 覆盖Color的toJSON方法 ColorCate.prototype.toJSON = function () { const values = Object.assign({}, this.get()) as ColorCateAttributes delete values.deletedAt return values } ColorCate.associate = function (models) { } return ColorCate }