fix(backup): Date in primaire sleutel

Componenten van primaire sleutels, die het aanmaaktijdstip bevatten, vervangen door volgnummers om problemen te vermijden wanneer meerdere entities exact op hetzelfde moment aangemaakt worden.
This commit is contained in:
Gerald Schmittinger 2025-02-25 22:55:08 +01:00
parent 22fea6de83
commit c527bae7fc
3 changed files with 23 additions and 14 deletions

View file

@ -5,9 +5,6 @@ import {Language} from "../content/language";
@Entity() @Entity()
export class Submission<T> { export class Submission<T> {
@ManyToOne({entity: () => Student, primary: true})
submitter!: Student;
@PrimaryKey({type: "string"}) @PrimaryKey({type: "string"})
learningObjectHruid!: string; learningObjectHruid!: string;
@ -15,10 +12,16 @@ export class Submission<T> {
learningObjectLanguage!: Language; learningObjectLanguage!: Language;
@PrimaryKey({type: "string"}) @PrimaryKey({type: "string"})
learningObjectVersion: number = "1"; learningObjectVersion: string = "1";
@PrimaryKey({type: "datetime"}) @Property({type: "integer"})
submissionTime: Date; submissionNumber!: number;
@ManyToOne({entity: () => Student})
submitter!: Student;
@Property({type: "datetime"})
submissionTime!: Date;
@ManyToOne({entity: () => Group, nullable: true}) @ManyToOne({entity: () => Group, nullable: true})
onBehalfOf?: Group; onBehalfOf?: Group;

View file

@ -11,9 +11,12 @@ export class Answer {
@ManyToOne({entity: () => Question, primary: true}) @ManyToOne({entity: () => Question, primary: true})
toQuestion!: Question; toQuestion!: Question;
@PrimaryKey({type: "datetime"}) @PrimaryKey({type: "integer"})
timestamp: Date; sequenceNumber!: number;
@Property({type: "datetime"})
timestamp!: Date;
@Property({type: "text"}) @Property({type: "text"})
content: string; content!: string;
} }

View file

@ -4,9 +4,6 @@ import {Student} from "../users/student.entity";
@Entity() @Entity()
export class Question { export class Question {
@ManyToOne({entity: () => Student, primary: true})
author!: Student;
@PrimaryKey({type: "string"}) @PrimaryKey({type: "string"})
learningObjectHruid!: string; learningObjectHruid!: string;
@ -14,9 +11,15 @@ export class Question {
learningObjectLanguage!: Language; learningObjectLanguage!: Language;
@PrimaryKey({type: "string"}) @PrimaryKey({type: "string"})
learningObjectVersion!: number = "1"; learningObjectVersion: string = "1";
@PrimaryKey({type: "datetime"}) @PrimaryKey({type: "integer"})
sequenceNumber!: number;
@ManyToOne({entity: () => Student})
author!: Student;
@Property({type: "datetime"})
timestamp!: Date; timestamp!: Date;
@Property({type: "text"}) @Property({type: "text"})