When a user gets deleted, I'd like for the user's associated Suggestion, Interest, Friend, and Block rows to also get deleted.
Associated Suggestion and Interest rows are getting deleted, but associated Friend and Block rows are not. I'm not sure why, but my guess is it's because there are two foreign keys pointing to the User table from the Friend and the Block tables.
Help would be appreciated. Here are the associations:
SuggestionModel.belongsTo(
UserModel,
{ foreignKey: 'suggestingUserId', as: 'suggestingUser', onDelete: 'cascade' }
);
InterestModel.belongsTo(
UserModel, { foreignKey: 'userId', as: 'user', onDelete: 'cascade' }
);
FriendModel.belongsTo(
UserModel,
{ foreignKey: 'initiatingUserId', as: 'initiatingUser', onDelete: 'cascade' }
);
FriendModel.belongsTo(
UserModel,
{ foreignKey: 'targetUserId', as: 'targetUser', onDelete: 'cascade' }
);
BlockModel.belongsTo(
UserModel,
{ foreignKey: 'blockerUserId', as: 'blockerUser', onDelete: 'cascade' },
);
BlockModel.belongsTo(
UserModel,
{ foreignKey: 'blockedUserId', as: 'blockedUser', onDelete: 'cascade' }
);
UserModel.hasMany(
FriendModel, { foreignKey: 'initiatingUserId', as: 'initiatingMatches', onDelete: 'cascade', hooks: true }
);
UserModel.hasMany(
FriendModel, { foreignKey: 'targetUserId', as: 'targetMatches', onDelete: 'cascade', hooks: true }
);
UserModel.hasMany(
InterestModel, { foreignKey: 'userId', as: 'interests' }
);