import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, ManyToOne, JoinColumn, Unique, } from 'typeorm'; import { Class } from './class.entity'; import { Student } from './student.entity'; @Entity('class_student') @Unique(['classId', 'studentId']) export class ClassStudent { @PrimaryGeneratedColumn() id: number; @Column({ name: 'class_id', type: 'integer' }) classId: number; @ManyToOne(() => Class, { onDelete: 'CASCADE' }) @JoinColumn({ name: 'class_id' }) class: Class; @Column({ name: 'student_id', type: 'integer' }) studentId: number; @ManyToOne(() => Student) @JoinColumn({ name: 'student_id' }) student: Student; @Column({ name: 'join_date', type: 'date', nullable: true }) joinDate: string | null; @Column({ name: 'leave_date', type: 'date', nullable: true }) leaveDate: string | null; @Column({ name: 'status', length: 10, default: 'active' }) status: string; @CreateDateColumn({ name: 'created_at' }) createdAt: Date; }