const { DataTypes } = require('sequelize'); const sequelize = require('../config/db'); const Category = sequelize.define('Category', { id: { type: DataTypes.INTEGER, primaryKey: true, autoIncrement: true, comment: '类目ID' }, name: { type: DataTypes.STRING(50), allowNull: false, comment: '类目名称' }, code: { type: DataTypes.STRING(50), allowNull: false, comment: '类目编码' }, type: { type: DataTypes.ENUM('income', 'expense'), allowNull: false, comment: '类型:income-收入,expense-支出' }, sort: { type: DataTypes.INTEGER, allowNull: false, defaultValue: 0, comment: '排序号' }, status: { type: DataTypes.ENUM('active', 'inactive'), allowNull: false, defaultValue: 'active', comment: '状态:active-启用,inactive-禁用' }, isDefault: { type: DataTypes.TINYINT, allowNull: false, defaultValue: 0, comment: '是否默认类目(0:否,1:是)' }, tenantId: { type: DataTypes.INTEGER, allowNull: false, comment: '租户ID' }, createBy: { type: DataTypes.INTEGER, allowNull: true, comment: '创建人ID' }, updateBy: { type: DataTypes.INTEGER, allowNull: true, comment: '修改人ID' }, isDeleted: { type: DataTypes.INTEGER, allowNull: false, defaultValue: 0, comment: '删除状态(0:未删除,1:已删除)' }, createTime: { type: DataTypes.DATE, allowNull: false, defaultValue: DataTypes.NOW, comment: '创建时间' }, updateTime: { type: DataTypes.DATE, allowNull: false, defaultValue: DataTypes.NOW, comment: '更新时间' } }, { tableName: 'categories', timestamps: false, comment: '收支类目表', indexes: [ { fields: ['tenantId'], name: 'idx_tenant' }, { fields: ['type'], name: 'idx_type' }, { fields: ['status'], name: 'idx_status' }, { fields: ['code'], name: 'idx_code' } ] }); module.exports = Category;