From 91c2c302ee463a0c1d4dba2ecd7bc860b00da7fc Mon Sep 17 00:00:00 2001 From: DavidK031 Date: Mon, 20 Oct 2025 20:47:11 +0200 Subject: [PATCH] Uprava --- ...10_20_120100_create_student_data_table.php | 21 ++++++++++ ...25_10_20_120300_create_employers_table.php | 20 ++++++++++ ..._10_20_120400_create_internships_table.php | 38 +++++++++++++++++++ ...20500_create_internship_statuses_table.php | 25 ++++++++++++ 4 files changed, 104 insertions(+) diff --git a/backend/database/migrations/2025_10_20_120100_create_student_data_table.php b/backend/database/migrations/2025_10_20_120100_create_student_data_table.php index e69de29..b46d14e 100644 --- a/backend/database/migrations/2025_10_20_120100_create_student_data_table.php +++ b/backend/database/migrations/2025_10_20_120100_create_student_data_table.php @@ -0,0 +1,21 @@ +id(); + $table->foreignId('user_id')->unique()->constrained('users')->cascadeOnDelete(); + $table->string('address')->nullable(); + $table->string('personal_email')->nullable(); + $table->string('study_field')->nullable(); + $table->timestamps(); + }); + } + public function down(): void { + Schema::dropIfExists('student_data'); + } +}; diff --git a/backend/database/migrations/2025_10_20_120300_create_employers_table.php b/backend/database/migrations/2025_10_20_120300_create_employers_table.php index e69de29..96c9e89 100644 --- a/backend/database/migrations/2025_10_20_120300_create_employers_table.php +++ b/backend/database/migrations/2025_10_20_120300_create_employers_table.php @@ -0,0 +1,20 @@ +id(); + $table->foreignId('company_id')->constrained('companies')->cascadeOnDelete(); + $table->foreignId('user_id')->unique()->constrained('users')->cascadeOnDelete(); + $table->string('position')->nullable(); + $table->timestamps(); + }); + } + public function down(): void { + Schema::dropIfExists('employers'); + } +}; diff --git a/backend/database/migrations/2025_10_20_120400_create_internships_table.php b/backend/database/migrations/2025_10_20_120400_create_internships_table.php index e69de29..7abbfd4 100644 --- a/backend/database/migrations/2025_10_20_120400_create_internships_table.php +++ b/backend/database/migrations/2025_10_20_120400_create_internships_table.php @@ -0,0 +1,38 @@ +id(); + + + $table->foreignId('user_id')->constrained('users'); + $table->foreignId('company_id')->constrained('companies'); + $table->foreignId('employer_id')->nullable()->constrained('employers')->nullOnDelete(); + + + $table->string('agreement')->nullable(); + $table->date('start_date'); + $table->date('end_date'); + $table->enum('semester', ['ZS','LS']); + $table->smallInteger('year_of_study'); + $table->text('position_description')->nullable(); + $table->boolean('is_paid')->default(false); + + + $table->unsignedBigInteger('status_id')->nullable(); + + $table->timestamps(); + + $table->index(['semester','company_id','user_id','status_id']); + + }); + } + public function down(): void { + Schema::dropIfExists('internships'); + } +}; diff --git a/backend/database/migrations/2025_10_20_120500_create_internship_statuses_table.php b/backend/database/migrations/2025_10_20_120500_create_internship_statuses_table.php index e69de29..53d4e3c 100644 --- a/backend/database/migrations/2025_10_20_120500_create_internship_statuses_table.php +++ b/backend/database/migrations/2025_10_20_120500_create_internship_statuses_table.php @@ -0,0 +1,25 @@ +id(); + $table->foreignId('internship_id')->constrained('internships')->cascadeOnDelete(); + $table->enum('status', ['SUBMITTED','CONFIRMED','DENIED','DEFENDED','NOT_DEFENDED']); + $table->timestamp('changed')->useCurrent(); + $table->foreignId('modified_by')->nullable()->constrained('users')->nullOnDelete(); + $table->text('note')->nullable(); + $table->string('source', 30)->default('UI'); + $table->timestamps(); + + $table->index(['internship_id','status']); + }); + } + public function down(): void { + Schema::dropIfExists('internship_statuses'); + } +};