更新政府端和银行端
This commit is contained in:
60
bank-backend/models/index.js
Normal file
60
bank-backend/models/index.js
Normal file
@@ -0,0 +1,60 @@
|
||||
/**
|
||||
* 模型索引文件
|
||||
* @file index.js
|
||||
* @description 导出所有模型并建立关联关系
|
||||
*/
|
||||
const { sequelize } = require('../config/database');
|
||||
|
||||
// 导入所有模型
|
||||
const User = require('./User');
|
||||
const Role = require('./Role');
|
||||
const Account = require('./Account');
|
||||
const Transaction = require('./Transaction');
|
||||
|
||||
// 定义模型关联关系
|
||||
|
||||
// 用户与角色关联
|
||||
User.belongsTo(Role, {
|
||||
foreignKey: 'role_id',
|
||||
as: 'role',
|
||||
targetKey: 'id'
|
||||
});
|
||||
|
||||
Role.hasMany(User, {
|
||||
foreignKey: 'role_id',
|
||||
as: 'users'
|
||||
});
|
||||
|
||||
// 用户与账户关联
|
||||
User.hasMany(Account, {
|
||||
foreignKey: 'user_id',
|
||||
as: 'accounts'
|
||||
});
|
||||
|
||||
Account.belongsTo(User, {
|
||||
foreignKey: 'user_id',
|
||||
as: 'user'
|
||||
});
|
||||
|
||||
// 账户与交易记录关联
|
||||
Account.hasMany(Transaction, {
|
||||
foreignKey: 'account_id',
|
||||
as: 'transactions'
|
||||
});
|
||||
|
||||
Transaction.belongsTo(Account, {
|
||||
foreignKey: 'account_id',
|
||||
as: 'account'
|
||||
});
|
||||
|
||||
// 交易记录与用户关联(通过账户)
|
||||
// 移除不合理的Transaction->User through Account的belongsTo定义,避免错误外键映射
|
||||
|
||||
// 导出所有模型和数据库实例
|
||||
module.exports = {
|
||||
sequelize,
|
||||
User,
|
||||
Role,
|
||||
Account,
|
||||
Transaction
|
||||
};
|
||||
Reference in New Issue
Block a user