【发布时间】:2020-09-09 15:38:39
【问题描述】:
我正在做一个 node.js 项目,允许用户之间进行虚拟交易。
一个用户可以进行许多交易。每笔交易必须包含来自用户的 2 个 fk,它们是卖家和买家的 id。
我在 node.js 中使用 sequelize 来构建模型。
const { Sequelize, DataTypes, Model } = require('sequelize');
import {sequelize} from '../database/connection.js';
const User = sequelize.define('User', {
// Model attributes are defined here
id:{
type: DataTypes.INTEGER(11),
allowNull: false,
autoIncrement: true,
primaryKey: true
},
}, {
// Other model options go here
sequelize, // We need to pass the connection instance
freezeTableName: true
});
module.exports = User
////////////////////////////////////
// Trade
const { Sequelize, DataTypes, Model } = require('sequelize');
import {sequelize} from '../database/connection.js';
const Trade = sequelize.define('Trade', {
// Model attributes are defined here
id:{
type: DataTypes.INTEGER(11),
allowNull: false,
autoIncrement: true,
primaryKey: true
},
isPaid:{
type: DataTypes.BOOLEAN,
defaultValue: true
}
// fk are in relationships.js
}, {
// Other model options go here
sequelize, // We need to pass the connection instance
freezeTableName: true
});
module.exports = Trade
///////////////////////////////
//relationships
User.hasMany(Trade,{
foreignKey: "offererId"
})
Trade.belongsTo(User);
//
User.hasMany(Trade,{
foreignKey: "receiverId"
})
Trade.belongsTo(User);
这是一个正确的解决方案吗?
【问题讨论】:
标签: node.js sequelize.js