diff --git a/docs/SqlDatabase/ER-DiagramFile.mwb.bak b/docs/SqlDatabase/ER-DiagramFile.mwb.bak index c43ee85..babd305 100644 Binary files a/docs/SqlDatabase/ER-DiagramFile.mwb.bak and b/docs/SqlDatabase/ER-DiagramFile.mwb.bak differ diff --git a/helpmehelpapplication/src/main/java/ntnu/systemutvikling/team6/database/DatabaseSetup.java b/helpmehelpapplication/src/main/java/ntnu/systemutvikling/team6/database/DatabaseSetup.java index c558640..46a444b 100644 --- a/helpmehelpapplication/src/main/java/ntnu/systemutvikling/team6/database/DatabaseSetup.java +++ b/helpmehelpapplication/src/main/java/ntnu/systemutvikling/team6/database/DatabaseSetup.java @@ -267,6 +267,30 @@ FOREIGN KEY (`UUID_charity`) ENGINE = InnoDB; """; + String userHasFavourites = + """ + -- ----------------------------------------------------- + -- Table `apbaluna`.`User_has_favourites` + -- ----------------------------------------------------- + CREATE TABLE IF NOT EXISTS `apbaluna`.`User_has_favourites` ( + `Favourite_Charity` CHAR(36) NOT NULL, + `Favourer` CHAR(36) NOT NULL, + PRIMARY KEY (`Favourite_Charity`, `Favourer`), + INDEX `fk_Charities_has_User_User2_idx` (`Favourer` ASC) VISIBLE, + INDEX `fk_Charities_has_User_Charities2_idx` (`Favourite_Charity` ASC) VISIBLE, + CONSTRAINT `fk_Charities_has_User_Charities2` + FOREIGN KEY (`Favourite_Charity`) + REFERENCES `apbaluna`.`Charities` (`UUID_charities`) + ON DELETE NO ACTION + ON UPDATE NO ACTION, + CONSTRAINT `fk_Charities_has_User_User2` + FOREIGN KEY (`Favourer`) + REFERENCES `apbaluna`.`User` (`UUID_User`) + ON DELETE NO ACTION + ON UPDATE NO ACTION) + ENGINE = InnoDB; + """; + try (Connection conn = connection.getMySqlConnection(); Statement s = conn.createStatement()) { @@ -280,6 +304,8 @@ FOREIGN KEY (`UUID_charity`) s.execute(charityCategoriesTable); s.execute(charityUserTable); s.execute(charityVanityTable); + s.execute(userHasFavourites); + } catch (SQLException e) { e.printStackTrace(); throw new RuntimeException("Error creating table.");