diff --git a/models/Answer.js b/models/Answer.js index 62ffc94..a2d1d5c 100644 --- a/models/Answer.js +++ b/models/Answer.js @@ -69,7 +69,8 @@ module.exports = (sequelize, DataTypes) => Answer.associate = function(models) { Answer.belongsTo(models.User, { foreignKey: { name: "UserId", allowNull: false }, onDelete: 'CASCADE', onUpdate: 'CASCADE' }); - Answer.belongsTo(models.Questionnaire, { foreignKey: { name: "QuestionnaireId", allowNull: false }, onDelete: 'CASCADE', onUpdate: 'CASCADE' }); + Answer.belongsTo(models.Questionnaire, { foreignKey: { name: "QuestionnaireId", allowNull: true }, onDelete: 'CASCADE', onUpdate: 'CASCADE' }); + Answer.belongsTo(models.Group, { foreignKey: { name: "GroupId", allowNull: true }, onDelete: 'CASCADE', onUpdate: 'CASCADE' }); }; return Answer; }; \ No newline at end of file diff --git a/models/Group.js b/models/Group.js index 3106f18..6b57ef8 100644 --- a/models/Group.js +++ b/models/Group.js @@ -88,6 +88,7 @@ module.exports = (sequelize, DataTypes) => Group.associate = function(models) { Group.hasMany(models.Questionnaire); + Group.hasMany(models.Answer); Group.belongsTo(models.User, { as: "Creator", foreignKey: { name: "CreatorId", allowNull: false } }); }; return Group; diff --git a/models/wikilerni-crea.sql b/models/wikilerni-crea.sql index 302c448..95fb510 100644 --- a/models/wikilerni-crea.sql +++ b/models/wikilerni-crea.sql @@ -3,7 +3,7 @@ -- https://www.phpmyadmin.net/ -- -- Client : localhost:3306 --- Généré le : Mer 21 Octobre 2020 à 17:36 +-- Généré le : Mer 21 Octobre 2020 à 17:55 -- Version du serveur : 5.7.31-0ubuntu0.18.04.1 -- Version de PHP : 7.2.24-0ubuntu0.18.04.7 @@ -33,7 +33,8 @@ CREATE TABLE `Answers` ( `duration` int(5) UNSIGNED DEFAULT NULL, `createdAt` datetime NOT NULL, `UserId` int(11) NOT NULL, - `QuestionnaireId` int(11) NOT NULL + `QuestionnaireId` int(11) DEFAULT NULL, + `GroupId` int(11) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1; -- -------------------------------------------------------- @@ -273,7 +274,8 @@ CREATE TABLE `Users` ( ALTER TABLE `Answers` ADD PRIMARY KEY (`id`), ADD KEY `UserId` (`UserId`), - ADD KEY `QuestionnaireId` (`QuestionnaireId`); + ADD KEY `QuestionnaireId` (`QuestionnaireId`), + ADD KEY `GroupId` (`GroupId`); -- -- Index pour la table `Choices` @@ -442,7 +444,7 @@ ALTER TABLE `Tags` -- AUTO_INCREMENT pour la table `UserDeleteds` -- ALTER TABLE `UserDeleteds` - MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=6; + MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=7; -- -- AUTO_INCREMENT pour la table `Users` -- @@ -457,7 +459,8 @@ ALTER TABLE `Users` -- ALTER TABLE `Answers` ADD CONSTRAINT `Answers_ibfk_7` FOREIGN KEY (`UserId`) REFERENCES `Users` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, - ADD CONSTRAINT `Answers_ibfk_8` FOREIGN KEY (`QuestionnaireId`) REFERENCES `Questionnaires` (`id`) ON DELETE CASCADE ON UPDATE CASCADE; + ADD CONSTRAINT `Answers_ibfk_8` FOREIGN KEY (`QuestionnaireId`) REFERENCES `Questionnaires` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, + ADD CONSTRAINT `Answers_ibfk_9` FOREIGN KEY (`GroupId`) REFERENCES `Groups` (`id`) ON DELETE CASCADE ON UPDATE CASCADE; -- -- Contraintes pour la table `Choices`