Files
nxxmdata/government-backend/models/Position.js

66 lines
1.3 KiB
JavaScript

const sequelize = require('../config/database');
const { DataTypes } = require('sequelize');
const Department = require('./Department');
const Position = sequelize.define('Position', {
id: {
type: DataTypes.INTEGER,
primaryKey: true,
autoIncrement: true
},
department_id: {
type: DataTypes.INTEGER,
allowNull: false,
references: {
model: Department,
key: 'id'
},
comment: '所属部门ID'
},
name: {
type: DataTypes.STRING,
allowNull: false,
comment: '岗位名称'
},
has_permission: {
type: DataTypes.BOOLEAN,
allowNull: false,
defaultValue: false,
comment: '是否已设置权限'
},
created_by: {
type: DataTypes.INTEGER,
allowNull: true,
comment: '创建人ID'
},
updated_by: {
type: DataTypes.INTEGER,
allowNull: true,
comment: '更新人ID'
}
}, {
tableName: 'government_positions',
indexes: [
{
name: 'idx_position_department_id',
fields: ['department_id']
},
{
name: 'idx_position_name',
fields: ['name']
}
]
});
// 定义关系
Department.hasMany(Position, {
foreignKey: 'department_id',
as: 'positions'
});
Position.belongsTo(Department, {
foreignKey: 'department_id',
as: 'department'
});
module.exports = Position;