в моем приложении nodejs, где я использую sequelize для доступа к базе данных, у меня есть несколько таблиц (Продукты, Пользователи, Корзины, CartItems)
, и между ними существует эта связь
Product.belongsTo(User, { constraints: true, onDelete: 'CASCADE' });
User.hasMany(Product);
User.hasOne(Cart);
Cart.belongsTo(User);
Cart.belongsToMany(Product, { through: CartItem });
Product.belongsToMany(Cart, { through: CartItem });
как видите, у пользователя может быть только одна корзина, но там, где я использую createCart (); функция может делать более одной тележки
sequelize
// .sync({ force: true })
.sync()
.then(result => {
return User.findByPk(1);
// console.log(result);
})
.then(user => {
if (!user) {
return User.create({ name: 'Max', email: 'test@test.com' });
}
return user;
})
.then(user => {
// console.log(user);
return user.createCart();
})
.then(cart => {
app.listen(4000);
})
.catch(err => {
console.log(err);
});
этот код находится в моем приложении. js файл, и каждый раз, когда сервер перезагружается, он проверяет, нет ли пользователя, который это делает, но createCart (); то, что sequelize должно обрабатывать это, чтобы не было более одной корзины для каждого пользователя, это не работает правильно, и каждый раз, когда сервер перезагружается, он делает другую корзину для пользователя