base migration and schema optimization

This commit is contained in:
Julian Krauser 2025-05-26 14:53:25 +02:00
parent 0d8499b828
commit d156cc6ad6
16 changed files with 426 additions and 22 deletions

View file

@ -20,13 +20,13 @@ export class damageReport {
@Column({ type: "text" })
description: string;
@Column({ nullable: true })
@Column({ nullable: true, default: null })
equipmentId: string;
@Column({ nullable: true })
@Column({ nullable: true, default: null })
vehicleId: string;
@Column({ nullable: true })
@Column({ nullable: true, default: null })
wearableId: string;
@ManyToOne(() => equipment, {

View file

@ -8,7 +8,7 @@ export class equipment {
@PrimaryGeneratedColumn("uuid")
id: string;
@Column({ type: "varchar", length: 255, nullable: true, unique: true })
@Column({ type: "varchar", length: 255, nullable: true, default: null, unique: true })
code?: string;
@Column({ type: "varchar", length: 255 })
@ -20,7 +20,7 @@ export class equipment {
@Column({ type: getTypeByORM("datetime").type as ColumnType })
commissioned: Date;
@Column({ type: getTypeByORM("datetime").type as ColumnType, nullable: true })
@Column({ type: getTypeByORM("datetime").type as ColumnType, nullable: true, default: null })
decommissioned?: Date;
@Column()

View file

@ -6,7 +6,7 @@ export class equipmentType {
@PrimaryGeneratedColumn("uuid")
id: string;
@Column({ type: "varchar", length: 255 })
@Column({ type: "varchar", length: 255, unique: true })
type: string;
@Column({ type: "text", nullable: true })

View file

@ -16,21 +16,37 @@ export class inspection {
@CreateDateColumn()
createdAt: Date;
@Column({ type: getTypeByORM("date").type as ColumnType, nullable: true })
@Column({ type: getTypeByORM("date").type as ColumnType, nullable: true, default: null })
finishedAt?: Date;
@Column({ type: getTypeByORM("date").type as ColumnType, nullable: true })
@Column({ type: getTypeByORM("date").type as ColumnType, nullable: true, default: null })
nextInspection?: Date;
@ManyToOne(() => inspectionPlan)
@ManyToOne(() => inspectionPlan, {
nullable: false,
onDelete: "RESTRICT",
onUpdate: "RESTRICT",
})
inspectionPlan: inspectionPlan;
@ManyToOne(() => inspectionVersionedPlan)
@ManyToOne(() => inspectionVersionedPlan, {
nullable: false,
onDelete: "RESTRICT",
onUpdate: "RESTRICT",
})
inspectionVersionedPlan: inspectionVersionedPlan;
@ManyToOne(() => equipment)
@ManyToOne(() => equipment, {
nullable: true,
onDelete: "CASCADE",
onUpdate: "RESTRICT",
})
equipment: equipment;
@ManyToOne(() => vehicle)
@ManyToOne(() => vehicle, {
nullable: true,
onDelete: "CASCADE",
onUpdate: "RESTRICT",
})
vehicle: vehicle;
}

View file

@ -19,7 +19,7 @@ export class inspectionPlan {
remindTime: PlanTimeDefinition;
@CreateDateColumn()
created: Date;
createdAt: Date;
@Column()
equipmentId: string;

View file

@ -27,9 +27,15 @@ export class inspectionPoint {
})
type: InspectionPointEnum;
@Column({ type: "int", default: 0 })
@Column({ type: "int", nullable: true, default: null })
min: number;
@Column({ type: "int", nullable: true, default: null })
max: number;
@Column()
versionedPlanId: string;
@ManyToOne(() => inspectionVersionedPlan, {
nullable: false,
onDelete: "CASCADE",

View file

@ -10,9 +10,17 @@ export class inspectionPointResult {
@Column({ type: "text" })
value: string;
@ManyToOne(() => inspection)
@ManyToOne(() => inspection, {
nullable: false,
onDelete: "CASCADE",
onUpdate: "RESTRICT",
})
inspection: inspection;
@ManyToOne(() => inspectionPoint)
@ManyToOne(() => inspectionPoint, {
nullable: false,
onDelete: "RESTRICT",
onUpdate: "RESTRICT",
})
inspectionPoint: inspectionPoint;
}

View file

@ -8,7 +8,7 @@ export class vehicle {
@PrimaryGeneratedColumn("uuid")
id: string;
@Column({ type: "varchar", length: 255, nullable: true, unique: true })
@Column({ type: "varchar", length: 255, nullable: true, default: null, unique: true })
code?: string;
@Column({ type: "varchar", length: 255 })
@ -20,7 +20,7 @@ export class vehicle {
@Column({ type: getTypeByORM("datetime").type as ColumnType })
commissioned: Date;
@Column({ type: getTypeByORM("datetime").type as ColumnType, nullable: true })
@Column({ type: getTypeByORM("datetime").type as ColumnType, nullable: true, default: null })
decommissioned?: Date;
@Column()

View file

@ -6,7 +6,7 @@ export class vehicleType {
@PrimaryGeneratedColumn("uuid")
id: string;
@Column({ type: "varchar", length: 255 })
@Column({ type: "varchar", length: 255, unique: true })
type: string;
@Column({ type: "text", nullable: true })

View file

@ -9,7 +9,7 @@ export class wearable {
@PrimaryGeneratedColumn("uuid")
id: string;
@Column({ type: "varchar", length: 255, nullable: true, unique: true })
@Column({ type: "varchar", length: 255, nullable: true, default: null, unique: true })
code?: string;
@Column({ type: "varchar", length: 255 })
@ -21,7 +21,7 @@ export class wearable {
@Column({ type: getTypeByORM("datetime").type as ColumnType })
commissioned: Date;
@Column({ type: getTypeByORM("datetime").type as ColumnType, nullable: true })
@Column({ type: getTypeByORM("datetime").type as ColumnType, nullable: true, default: null })
decommissioned?: Date;
@Column()

View file

@ -6,7 +6,7 @@ export class wearableType {
@PrimaryGeneratedColumn("uuid")
id: string;
@Column({ type: "varchar", length: 255 })
@Column({ type: "varchar", length: 255, unique: true })
type: string;
@Column({ type: "text", nullable: true })