diff --git a/ExpressAPI/prisma/migrations/20240208132018_add_correction_to_assignment/migration.sql b/ExpressAPI/prisma/migrations/20240208132018_add_correction_to_assignment/migration.sql
new file mode 100644
index 0000000000000000000000000000000000000000..cf8fa0240acfd338b0414f0394685a96b8b2602b
--- /dev/null
+++ b/ExpressAPI/prisma/migrations/20240208132018_add_correction_to_assignment/migration.sql
@@ -0,0 +1,2 @@
+-- AlterTable
+ALTER TABLE `Exercise` ADD COLUMN `correctionCommit` JSON NULL;
diff --git a/ExpressAPI/prisma/schema.prisma b/ExpressAPI/prisma/schema.prisma
index a68226e0868e475d54557f330fa35699e2f34bf7..f60367392fbfdcdf104a78dea1e20a0101bdddb9 100644
--- a/ExpressAPI/prisma/schema.prisma
+++ b/ExpressAPI/prisma/schema.prisma
@@ -50,6 +50,8 @@ model Exercise {
     gitlabLastInfo     Json     @db.Json
     gitlabLastInfoDate DateTime
 
+    correctionCommit Json? @db.Json
+
     assignment Assignment @relation(fields: [assignmentName], references: [name], onDelete: NoAction, onUpdate: Cascade)
 
     members User[]
diff --git a/ExpressAPI/src/helpers/DatabaseHelper.ts b/ExpressAPI/src/helpers/DatabaseHelper.ts
index 89ec9c767cb8f879011a7f5e547eb1942657de7b..9dc14bb292ef7e2921617c135b1e4f8d014e2a78 100644
--- a/ExpressAPI/src/helpers/DatabaseHelper.ts
+++ b/ExpressAPI/src/helpers/DatabaseHelper.ts
@@ -1,7 +1,9 @@
-import { PrismaClient }    from '@prisma/client';
-import logger              from '../shared/logging/WinstonLogger';
-import UserQueryExtension  from './Prisma/Extensions/UserQueryExtension';
-import UserResultExtension from './Prisma/Extensions/UserResultExtension';
+import { PrismaClient }          from '@prisma/client';
+import logger                    from '../shared/logging/WinstonLogger';
+import UserQueryExtension        from './Prisma/Extensions/UserQueryExtension';
+import UserResultExtension       from './Prisma/Extensions/UserResultExtension';
+import AssignmentResultExtension from './Prisma/Extensions/AssignmentResultExtension';
+import ExerciseResultExtension   from './Prisma/Extensions/ExerciseResultExtension';
 
 
 const prisma = new PrismaClient({
@@ -29,7 +31,7 @@ prisma.$on('warn', e => logger.warn(`Prisma => ${ e.message }`));
 prisma.$on('error', e => logger.error(`Prisma => ${ e.message }`));
 
 
-const db = prisma.$extends(UserQueryExtension).$extends(UserResultExtension);
+const db = prisma.$extends(UserQueryExtension).$extends(UserResultExtension).$extends(AssignmentResultExtension).$extends(ExerciseResultExtension);
 
 
 export default db;
\ No newline at end of file
diff --git a/ExpressAPI/src/types/DatabaseTypes.ts b/ExpressAPI/src/types/DatabaseTypes.ts
index 632b05be5eda9eebf30a8c392e5a4020292dd10d..ae95e3bfb03a2b7c52dab17b486f36439ae139f6 100644
--- a/ExpressAPI/src/types/DatabaseTypes.ts
+++ b/ExpressAPI/src/types/DatabaseTypes.ts
@@ -31,6 +31,10 @@ export type User = Prisma.UserGetPayload<typeof userBase> & {
     isAdmin: boolean
     gitlabProfile: LazyVal<GitlabUser>
 }
-export type Assignment = Prisma.AssignmentGetPayload<typeof assignmentBase>
-export type Exercise = Prisma.ExerciseGetPayload<typeof exerciseBase>
+export type Exercise = Prisma.ExerciseGetPayload<typeof exerciseBase> & {
+    isCorrection: boolean
+}
+export type Assignment = Prisma.AssignmentGetPayload<typeof assignmentBase> & {
+    corrections: LazyVal<Exercise>
+}
 export type Result = Prisma.ResultGetPayload<typeof resultBase>
\ No newline at end of file