Skip to content

Commit

Permalink
Feat: Database now contain minimum information (only information prov…
Browse files Browse the repository at this point in the history
…ided by API), expect for Donations.
  • Loading branch information
AdrianBalunan committed Mar 12, 2026
1 parent 9a760f7 commit 6bd2d64
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 40 deletions.
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
package ntnu.sytemutvikling.team6;

import ntnu.sytemutvikling.team6.database.DatabaseConnection;
import ntnu.sytemutvikling.team6.database.DatabaseManager;
import ntnu.sytemutvikling.team6.models.Charity;
import ntnu.sytemutvikling.team6.models.CharityRegistry;
import ntnu.sytemutvikling.team6.scraper.APICharityScraper;
Expand All @@ -10,8 +12,8 @@

public class HmHApplication {
public static void main(String[] args) {
init();
System.out.println("Hello world!");
init();

}
public static void init(){
Expand All @@ -29,5 +31,13 @@ public static void init(){
e.printStackTrace();
}

try {
DatabaseManager db = new DatabaseManager();
db.testConnection();
db.createTables();
} catch (Exception e){
e.printStackTrace();
}

}
}
Original file line number Diff line number Diff line change
Expand Up @@ -58,65 +58,45 @@ public boolean testConnection() {
*/

public void createTables() {
String sql_query = """
-- MySQL Workbench Forward Engineering
SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';
-- -----------------------------------------------------
-- Schema HelpMeHelp
-- -----------------------------------------------------
-- -----------------------------------------------------
-- Schema HelpMeHelp
-- -----------------------------------------------------
--CREATE SCHEMA IF NOT EXISTS `HelpMeHelp` DEFAULT CHARACTER SET utf8 ;
--USE `HelpMeHelp` ;
USE apbaluna;
String sql_query1 =
"""
-- -----------------------------------------------------
-- Table `HelpMeHelp`.`Charities`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `HelpMeHelp`.`Charities` (
`UUID` CHAR(36) NOT NULL,
CREATE TABLE IF NOT EXISTS Charities (
`org_number` VARCHAR(255) NOT NULL,
`charity_name` VARCHAR(255) NOT NULL,
`charity_description` VARCHAR(255) NOT NULL,
`isVerified` TINYINT NOT NULL,
`category` VARCHAR(45) NOT NULL,
PRIMARY KEY (`UUID`))
`charity_link` VARCHAR(255) NOT NULL,
`pre_approved` TINYINT NOT NULL,
`status` VARCHAR(255) NOT NULL,
PRIMARY KEY (`org_number`))
ENGINE = InnoDB;
""";
String sql_query2 =
"""
-- -----------------------------------------------------
-- Table `HelpMeHelp`.`Donations`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `HelpMeHelp`.`Donations` (
CREATE TABLE IF NOT EXISTS Donations (
`UUID` CHAR(36) NOT NULL,
`amount` DECIMAL NOT NULL,
`date` DATE NOT NULL,
`Charities_UUID` CHAR(36) NOT NULL,
`Charities_org_number` VARCHAR(255) NOT NULL,
PRIMARY KEY (`UUID`),
INDEX `fk_Donations_Charities_idx` (`Charities_UUID` ASC) VISIBLE,
INDEX `fk_Donations_Charities_idx` (`Charities_org_number` ASC) VISIBLE,
CONSTRAINT `fk_Donations_Charities`
FOREIGN KEY (`Charities_UUID`)
REFERENCES `HelpMeHelp`.`Charities` (`UUID`)
FOREIGN KEY (`Charities_org_number`)
REFERENCES Charities (`org_number`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;
""";
""";

try (Connection conn = connection.getMySqlConnection();
Statement s = conn.createStatement()) {

s.execute(sql_query);
s.execute(sql_query1);
s.execute(sql_query2);
} catch (SQLException e) {
e.printStackTrace();
throw new RuntimeException("Error creating table.");
Expand Down

0 comments on commit 6bd2d64

Please sign in to comment.