Skip to content

Commit

Permalink
Fix: Added UUID in table creation
Browse files Browse the repository at this point in the history
  • Loading branch information
AdrianBalunan committed Mar 12, 2026
1 parent 7cd3fc9 commit c724664
Showing 1 changed file with 30 additions and 20 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -66,13 +66,15 @@ public void createTables() {
-- Table `HelpMeHelp`.`Charities`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS Charities (
`org_number` VARCHAR(255) NOT NULL,
`charity_name` VARCHAR(255) NOT NULL,
`charity_link` VARCHAR(255) NOT NULL,
`pre_approved` TINYINT NOT NULL,
`status` VARCHAR(255) NOT NULL,
PRIMARY KEY (`org_number`))
ENGINE = InnoDB;
UUID_charities CHAR(36) PRIMARY KEY,
org_number VARCHAR(255) NOT NULL,
charity_name VARCHAR(255) NOT NULL,
charity_link VARCHAR(255) NOT NULL,
pre_approved TINYINT NOT NULL,
status VARCHAR(255) NOT NULL,
UNIQUE KEY unique_org_number (org_number)
) ENGINE=InnoDB;
""";
String sql_query2 =
Expand All @@ -81,17 +83,18 @@ PRIMARY KEY (`org_number`))
-- Table `HelpMeHelp`.`Donations`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS Donations (
`UUID` CHAR(36) NOT NULL,
`UUID_Donations` CHAR(36) NOT NULL,
`amount` DECIMAL NOT NULL,
`date` DATE NOT NULL,
`Charities_org_number` VARCHAR(255) NOT NULL,
PRIMARY KEY (`UUID`),
INDEX `fk_Donations_Charities_idx` (`Charities_org_number` ASC) VISIBLE,
`Charities_UUID_charities` CHAR(36) NOT NULL,
PRIMARY KEY (`UUID_Donations`),
INDEX `fk_Donations_Charities_idx` (`Charities_UUID_charities` ASC) VISIBLE,
CONSTRAINT `fk_Donations_Charities`
FOREIGN KEY (`Charities_org_number`)
REFERENCES Charities (`org_number`)
FOREIGN KEY (`Charities_UUID_charities`)
REFERENCES `apbaluna`.`Charities` (`UUID_charities`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
""";

try (Connection conn = connection.getMySqlConnection();
Expand All @@ -111,17 +114,23 @@ public void addAPIDataToTable(List<Charity> charities){
conn = connection.getMySqlConnection();
conn.setAutoCommit(false);
String sql_query = """
INSERT INTO charities (org_number, charity_name, charity_link, pre_approved, status)
VALUES (?, ?, ?, ?, ?)
INSERT IGNORE INTO Charities (UUID_charities, org_number, charity_name, charity_link, pre_approved, status)
VALUES (?, ?, ?, ?, ?, ?)
ON DUPLICATE KEY UPDATE
charity_name = VALUES(charity_name),
charity_link = VALUES(charity_link),
pre_approved = VALUES(pre_approved),
status = VALUES(status)
""";

try (PreparedStatement ps = conn.prepareStatement(sql_query)) {
for (Charity charity : charities) {
ps.setString(1, charity.getOrg_number().replaceAll("\\s", ""));
ps.setString(2, charity.getName());
ps.setString(3, charity.getDescription());
ps.setBoolean(4, charity.getPreApproved()); // Description is the link
ps.setString(5, charity.getStatus());
ps.setString(1, charity.getUUID().toString());
ps.setString(2, charity.getOrg_number().replaceAll("\\s", ""));
ps.setString(3, charity.getName());
ps.setString(4, charity.getDescription());
ps.setBoolean(5, charity.getPreApproved()); // Description is the link
ps.setString(6, charity.getStatus());

ps.addBatch();
}
Expand All @@ -137,6 +146,7 @@ INSERT INTO charities (org_number, charity_name, charity_link, pre_approved, sta
ex.printStackTrace();
}
}
e.printStackTrace();

throw new RuntimeException("ERROR: Something went wrong during updating charities table.");
} finally {
Expand Down

0 comments on commit c724664

Please sign in to comment.