From aae4a7e7eadd0f081a059f2c2af9665ec201d873 Mon Sep 17 00:00:00 2001 From: Refringe Date: Thu, 27 Jun 2024 00:13:12 -0400 Subject: [PATCH] Adjusts migration constraints --- .../0001_01_01_000000_create_users_table.php | 12 ++++++++++-- .../2024_05_15_022710_create_mods_table.php | 17 ++++++++++++++--- ...4_05_15_023430_create_spt_versions_table.php | 5 ++++- ...4_05_15_023705_create_mod_versions_table.php | 17 ++++++++++++++--- 4 files changed, 42 insertions(+), 9 deletions(-) diff --git a/database/migrations/0001_01_01_000000_create_users_table.php b/database/migrations/0001_01_01_000000_create_users_table.php index 56b2ca6..a14b4ab 100644 --- a/database/migrations/0001_01_01_000000_create_users_table.php +++ b/database/migrations/0001_01_01_000000_create_users_table.php @@ -14,12 +14,20 @@ return new class extends Migration { Schema::create('users', function (Blueprint $table) { $table->id(); - $table->bigInteger('hub_id')->nullable()->default(null)->unique(); + $table->bigInteger('hub_id') + ->nullable() + ->default(null) + ->unique(); $table->string('name'); $table->string('email')->unique(); $table->timestamp('email_verified_at')->nullable(); $table->string('password'); - $table->foreignIdFor(UserRole::class)->nullable()->default(null)->constrained('user_roles'); + $table->foreignIdFor(UserRole::class) + ->nullable() + ->default(null) + ->constrained('user_roles') + ->nullOnDelete() + ->cascadeOnUpdate(); $table->rememberToken(); $table->string('profile_photo_path', 2048)->nullable(); $table->timestamps(); diff --git a/database/migrations/2024_05_15_022710_create_mods_table.php b/database/migrations/2024_05_15_022710_create_mods_table.php index 93718af..e4b0477 100644 --- a/database/migrations/2024_05_15_022710_create_mods_table.php +++ b/database/migrations/2024_05_15_022710_create_mods_table.php @@ -12,14 +12,25 @@ return new class extends Migration { Schema::create('mods', function (Blueprint $table) { $table->id(); - $table->bigInteger('hub_id')->nullable()->default(null)->unique(); - $table->foreignIdFor(User::class)->constrained('users'); + $table->bigInteger('hub_id') + ->nullable() + ->default(null) + ->unique(); + $table->foreignIdFor(User::class) + ->constrained('users') + ->cascadeOnDelete() + ->cascadeOnUpdate(); $table->string('name'); $table->string('slug'); $table->string('teaser'); $table->longText('description'); $table->string('thumbnail')->default(''); - $table->foreignIdFor(License::class)->nullable()->default(null)->constrained('licenses'); + $table->foreignIdFor(License::class) + ->nullable() + ->default(null) + ->constrained('licenses') + ->nullOnDelete() + ->cascadeOnUpdate(); $table->string('source_code_link'); $table->boolean('featured')->default(false); $table->boolean('contains_ai_content')->default(false); diff --git a/database/migrations/2024_05_15_023430_create_spt_versions_table.php b/database/migrations/2024_05_15_023430_create_spt_versions_table.php index 6609631..221b2ad 100644 --- a/database/migrations/2024_05_15_023430_create_spt_versions_table.php +++ b/database/migrations/2024_05_15_023430_create_spt_versions_table.php @@ -10,7 +10,10 @@ return new class extends Migration { Schema::create('spt_versions', function (Blueprint $table) { $table->id(); - $table->bigInteger('hub_id')->nullable()->default(null)->unique(); + $table->bigInteger('hub_id') + ->nullable() + ->default(null) + ->unique(); $table->string('version'); $table->string('color_class'); $table->softDeletes(); diff --git a/database/migrations/2024_05_15_023705_create_mod_versions_table.php b/database/migrations/2024_05_15_023705_create_mod_versions_table.php index 484ed4b..9533863 100644 --- a/database/migrations/2024_05_15_023705_create_mod_versions_table.php +++ b/database/migrations/2024_05_15_023705_create_mod_versions_table.php @@ -12,12 +12,23 @@ return new class extends Migration { Schema::create('mod_versions', function (Blueprint $table) { $table->id(); - $table->bigInteger('hub_id')->nullable()->default(null)->unique(); - $table->foreignIdFor(Mod::class)->constrained('mods'); + $table->bigInteger('hub_id') + ->nullable() + ->default(null) + ->unique(); + $table->foreignIdFor(Mod::class) + ->constrained('mods') + ->cascadeOnDelete() + ->cascadeOnUpdate(); $table->string('version'); $table->longText('description'); $table->string('link'); - $table->foreignIdFor(SptVersion::class)->constrained('spt_versions'); + $table->foreignIdFor(SptVersion::class) + ->nullable() + ->default(null) + ->constrained('spt_versions') + ->nullOnDelete() + ->cascadeOnUpdate(); $table->string('virus_total_link'); $table->unsignedBigInteger('downloads'); $table->boolean('disabled')->default(false);