diff --git a/src/draw/coordinate.entity.ts b/src/draw/coordinate.entity.ts
index 8f5c4e1d95cd7bf819818664aa41f662a412b316..ef5447f61cfd1dd07d1f81a8ee1fce8e8256da2a 100644
--- a/src/draw/coordinate.entity.ts
+++ b/src/draw/coordinate.entity.ts
@@ -21,7 +21,9 @@ export class MapDrawingEntity {
     onDelete: 'CASCADE',
   })
   faction: FactionEntity;
-  @ManyToOne(type => GameEntity, gameEntity => gameEntity.id)
+  @ManyToOne(type => GameEntity, gameEntity => gameEntity.id, {
+    onDelete: 'CASCADE',
+  })
   gameId: GameEntity;
 }
 
@@ -30,8 +32,20 @@ export class Game_Person_MapDrawingEntity {
   @PrimaryGeneratedColumn('uuid') GPmapDrawingId: string;
   @Column({ type: 'timestamp' }) GPCTimeStamp: Timestamp;
 
-  @ManyToOne(type => Game_PersonEntity, game_person => game_person.gamepersonId)
+  @ManyToOne(
+    type => Game_PersonEntity,
+    game_person => game_person.gamepersonId,
+    {
+      onDelete: 'CASCADE',
+    },
+  )
   game_person: Game_PersonEntity;
-  @ManyToOne(type => MapDrawingEntity, map_drawing => map_drawing.mapDrawingId)
+  @ManyToOne(
+    type => MapDrawingEntity,
+    map_drawing => map_drawing.mapDrawingId,
+    {
+      onDelete: 'CASCADE',
+    },
+  )
   map_drawing: MapDrawingEntity;
 }
diff --git a/src/faction/faction.entity.ts b/src/faction/faction.entity.ts
index ba2fff03a48629ef5bd562eb08694e472d76e812..3aa74cf615d77deb1421d52d46d4159bf7e0d241 100644
--- a/src/faction/faction.entity.ts
+++ b/src/faction/faction.entity.ts
@@ -26,15 +26,13 @@ export class FactionEntity {
   @Column({ type: 'text' })
   factionPassword: string;
 
-  @OneToMany(type => Game_PersonEntity, game_persons => game_persons.faction, {
-    onDelete: 'SET NULL',
-  })
+  @OneToMany(type => Game_PersonEntity, game_persons => game_persons.faction)
   game_persons: Game_PersonEntity[];
-  @ManyToOne(type => GameEntity, game => game.factions)
-  game: GameEntity;
-  @OneToMany(type => MapDrawingEntity, mapDrawings => mapDrawings.faction, {
+  @ManyToOne(type => GameEntity, game => game.factions, {
     onDelete: 'CASCADE',
   })
+  game: GameEntity;
+  @OneToMany(type => MapDrawingEntity, mapDrawings => mapDrawings.faction)
   mapDrawings: MapDrawingEntity[];
 
   factionObject() {
@@ -47,7 +45,7 @@ export class FactionEntity {
   }
 }
 
-@Entity('PowerUp')
+/* @Entity('PowerUp')
 export class PowerUpEntity {
   @PrimaryGeneratedColumn('uuid') powerUpId: string;
   @Column({ type: 'text' }) powerUpName: string;
@@ -55,7 +53,9 @@ export class PowerUpEntity {
   @Column({ type: 'int' }) amount: number;
   @Column({ type: 'time' }) cooldown: string;
 
-  @OneToMany(type => FactionEntity, factions => factions.factionId)
+  @OneToMany(type => FactionEntity, factions => factions.factionId, {
+    onDelete: 'CASCADE',
+  })
   factions: Faction_PowerUpEntity[];
 }
 
@@ -81,7 +81,7 @@ export class FP_HistoryEntity {
     faction_PowerUp => faction_PowerUp.histories,
   )
   faction_PowerUp: Faction_PowerUpEntity;
-}
+} */
 
 @Entity('GameGroup')
 export class GameGroupEntity {
diff --git a/src/game/game.entity.ts b/src/game/game.entity.ts
index 761a14be2ad05ed6ee70cec6d4ab50385f72455b..7ae6e29955d02a2c1368b5f720200f009bd92ee1 100644
--- a/src/game/game.entity.ts
+++ b/src/game/game.entity.ts
@@ -57,19 +57,19 @@ export class Game_PersonEntity {
   @PrimaryGeneratedColumn('uuid') gamepersonId: string;
   @Column({ type: 'text', nullable: true }) role: string;
   @ManyToOne(type => FactionEntity, faction => faction.game_persons, {
-    onDelete: 'SET NULL',
+    onDelete: 'CASCADE',
   })
   faction: FactionEntity;
-  @ManyToOne(type => GameEntity, game => game.id)
+  @ManyToOne(type => GameEntity, game => game.id, {
+    onDelete: 'CASCADE',
+  })
   game: GameEntity;
   @ManyToOne(type => PersonEntity, person => person.id)
   person: PersonEntity;
-  @OneToOne(type => GameGroupEntity, group => group.leader, {
-    onDelete: 'CASCADE',
-  })
+  @OneToOne(type => GameGroupEntity, group => group.leader)
   leaderGroup: GameGroupEntity;
   @ManyToOne(type => GameGroupEntity, group => group.players, {
-    onDelete: 'CASCADE',
+    onDelete: 'NO ACTION',
   })
   @JoinColumn({ name: 'group' })
   group: GameGroupEntity;
@@ -81,9 +81,13 @@ export class ObjectivePointEntity {
   @Column({ type: 'text' }) objectivePointDescription: string;
   @Column({ type: 'float' }) objectivePointMultiplier: number;
 
-  @ManyToOne(type => MapDrawingEntity, coordinate => coordinate.data)
+  @ManyToOne(type => MapDrawingEntity, coordinate => coordinate.data, {
+    onDelete: 'CASCADE',
+  })
   coordinate: MapDrawingEntity;
-  @ManyToOne(type => GameEntity, game => game.objective_points)
+  @ManyToOne(type => GameEntity, game => game.objective_points, {
+    onDelete: 'CASCADE',
+  })
   game: GameEntity;
 }
 
@@ -103,6 +107,9 @@ export class ObjectivePoint_HistoryEntity {
   @ManyToOne(
     type => ObjectivePointEntity,
     objective_point => objective_point.objectivePointId,
+    {
+      onDelete: 'CASCADE',
+    },
   )
   objective_point: string;
 }
diff --git a/src/notifications/notification.entity.ts b/src/notifications/notification.entity.ts
index 3f8781633ec42bc3132c5df92f4f74045721506b..3df76ac1847e6efa32b346142820628774f2b230 100644
--- a/src/notifications/notification.entity.ts
+++ b/src/notifications/notification.entity.ts
@@ -1,11 +1,22 @@
-import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn } from "typeorm";
+import {
+  Entity,
+  PrimaryGeneratedColumn,
+  Column,
+  CreateDateColumn,
+  ManyToOne,
+} from 'typeorm';
+
+import { GameEntity } from '../game/game.entity';
 
 // temporary table for warning notifications
 @Entity('Notifications')
 export class NotificationEntity {
-    @PrimaryGeneratedColumn('uuid') id: string;
-    @Column({type: 'text'}) message: string;
-    @CreateDateColumn() issued: Date;
-    // TODO:
-    // when game creation has been implemented, add logic so that the notifications are tied to games
-}
\ No newline at end of file
+  @PrimaryGeneratedColumn('uuid') id: string;
+  @Column({ type: 'text' }) message: string;
+  @CreateDateColumn() issued: Date;
+
+  @ManyToOne(type => GameEntity, game => game.id, {
+    onDelete: 'CASCADE',
+  })
+  game: GameEntity;
+}
diff --git a/src/score/score.entity.ts b/src/score/score.entity.ts
index 58c8ec33bf5e517e1b44dcc4e8f7caade93bfd52..6ca9ab77b968060a6dc88c860425119914cec030 100644
--- a/src/score/score.entity.ts
+++ b/src/score/score.entity.ts
@@ -14,6 +14,8 @@ export class ScoreEntity {
   @Column({ type: 'float' }) score: number;
   @CreateDateColumn({ type: 'timestamp' }) scoreTimeStamp: Timestamp;
 
-  @ManyToOne(type => FactionEntity, factionName => factionName.factionId)
+  @ManyToOne(type => FactionEntity, factionName => factionName.factionId, {
+    onDelete: 'CASCADE',
+  })
   faction: string;
 }
diff --git a/src/task/task.entity.ts b/src/task/task.entity.ts
index c8f7d6218f373d8bd213e49dc7b9d6b2ab8ec68e..f1c1cf103fa4338a7f10d0305888d13c097d7a09 100644
--- a/src/task/task.entity.ts
+++ b/src/task/task.entity.ts
@@ -24,7 +24,9 @@ export class TaskEntity {
     onDelete: 'CASCADE',
   })
   taskWinner: FactionEntity;
-  @ManyToOne(type => GameEntity, game => game.id)
+  @ManyToOne(type => GameEntity, game => game.id, {
+    onDelete: 'CASCADE',
+  })
   @JoinColumn({ name: 'taskGame' })
   taskGame: GameEntity;
 }
diff --git a/src/tracking/tracking.entity.ts b/src/tracking/tracking.entity.ts
index b31239101176a0316031cf6c1449205a26bcd150..cabe141a42bcfe076588e320a6eed6c20c6ceaa9 100644
--- a/src/tracking/tracking.entity.ts
+++ b/src/tracking/tracking.entity.ts
@@ -5,6 +5,8 @@ import { Game_PersonEntity } from '../game/game.entity';
 export class TrackingEntity {
   @PrimaryGeneratedColumn('uuid') id: string;
   @Column({ type: 'json', nullable: true }) data: JSON;
-  @ManyToOne(type => Game_PersonEntity, person => person.gamepersonId)
+  @ManyToOne(type => Game_PersonEntity, person => person.gamepersonId, {
+    onDelete: 'CASCADE',
+  })
   gamepersonId: Game_PersonEntity;
 }