From deb3c2f4be402404319dcef7aa58988a3af3b8de Mon Sep 17 00:00:00 2001 From: WildEgo Date: Fri, 27 Jun 2025 00:17:05 +0100 Subject: [PATCH] add: onDelete/onUpdate on multiple pids and player names. --- .../migrations/2024_03_30_000005_create_affect_table.php | 2 +- .../2024_03_30_000009_create_change_name_table.php | 2 +- .../2024_03_30_000010_create_command_log_table.php | 2 +- .../migrations/2024_03_30_000011_create_cube_table.php | 2 +- .../2024_03_30_000013_create_fish_log_table.php | 2 +- .../migrations/2024_03_30_000015_create_gmlist_table.php | 4 ++-- .../migrations/2024_03_30_000016_create_goldlog_table.php | 2 +- .../2024_03_30_000020_create_guild_member_table.php | 4 ++-- .../2024_03_30_000026_create_horse_name_table.php | 2 +- .../2024_03_30_000029_create_item_award_table.php | 2 +- .../2024_03_30_000033_create_levellog_table.php | 2 +- .../2024_03_30_000036_create_loginlog_table.php | 2 +- .../2024_03_30_000037_create_lotto_list_table.php | 2 +- .../2024_03_30_000042_create_marriage_table.php | 4 ++-- .../2024_03_30_000043_create_messenger_list_table.php | 6 ++++-- .../2024_03_30_000045_create_monarch_candidacy_table.php | 2 +- .../2024_03_30_000046_create_monarch_election_table.php | 4 ++-- .../migrations/2024_03_30_000047_create_monarch_table.php | 2 +- .../2024_03_30_000049_create_myshop_pricelist_table.php | 2 +- .../2024_03_30_000053_create_player_index_table.php | 8 ++++---- .../2024_03_30_000054_create_quest_reward_log_table.php | 2 +- .../migrations/2024_03_30_000055_create_quest_table.php | 2 +- .../2024_03_30_000064_create_speed_hack_table.php | 2 +- 23 files changed, 33 insertions(+), 31 deletions(-) diff --git a/database/migrations/2024_03_30_000005_create_affect_table.php b/database/migrations/2024_03_30_000005_create_affect_table.php index e7ee901..86aaf11 100644 --- a/database/migrations/2024_03_30_000005_create_affect_table.php +++ b/database/migrations/2024_03_30_000005_create_affect_table.php @@ -13,7 +13,6 @@ return new class extends Migration */ public function up() { - // TODO Check dwPID as it's the only one that might be related to something Schema::create('affect', function (Blueprint $table) { $table->unsignedInteger('dwPID')->default(0); $table->unsignedSmallInteger('bType')->default(0); @@ -24,6 +23,7 @@ return new class extends Migration $table->integer('lSPCost')->default(0); $table->primary(['dwPID', 'bType', 'bApplyOn', 'lApplyValue']); + $table->foreign('dwPID')->references('id')->on('player')->cascadeOnDelete(); }); } diff --git a/database/migrations/2024_03_30_000009_create_change_name_table.php b/database/migrations/2024_03_30_000009_create_change_name_table.php index 9539f90..df4bf88 100644 --- a/database/migrations/2024_03_30_000009_create_change_name_table.php +++ b/database/migrations/2024_03_30_000009_create_change_name_table.php @@ -20,7 +20,7 @@ return new class extends Migration $table->dateTime('time')->nullable(); $table->string('ip', 20)->nullable(); - $table->foreign('pid')->references('id')->on('player'); + $table->foreign('pid')->references('id')->on('player')->cascadeOnDelete(); }); } diff --git a/database/migrations/2024_03_30_000010_create_command_log_table.php b/database/migrations/2024_03_30_000010_create_command_log_table.php index 93ff8e9..01daa57 100644 --- a/database/migrations/2024_03_30_000010_create_command_log_table.php +++ b/database/migrations/2024_03_30_000010_create_command_log_table.php @@ -23,7 +23,7 @@ return new class extends Migration $table->text('command'); $table->dateTime('date')->useCurrent(); - $table->foreign('userid')->references('id')->on('player'); + $table->foreign('userid')->references('id')->on('player')->cascadeOnDelete(); }); } diff --git a/database/migrations/2024_03_30_000011_create_cube_table.php b/database/migrations/2024_03_30_000011_create_cube_table.php index 876fdb1..d487e71 100644 --- a/database/migrations/2024_03_30_000011_create_cube_table.php +++ b/database/migrations/2024_03_30_000011_create_cube_table.php @@ -25,7 +25,7 @@ return new class extends Migration $table->unsignedInteger('item_count'); $table->boolean('success')->default(false); - $table->foreign('pid')->references('id')->on('player'); + $table->foreign('pid')->references('id')->on('player')->cascadeOnDelete(); }); } diff --git a/database/migrations/2024_03_30_000013_create_fish_log_table.php b/database/migrations/2024_03_30_000013_create_fish_log_table.php index 25092d8..5fa8f27 100644 --- a/database/migrations/2024_03_30_000013_create_fish_log_table.php +++ b/database/migrations/2024_03_30_000013_create_fish_log_table.php @@ -23,7 +23,7 @@ return new class extends Migration $table->boolean('success')->default(false); $table->smallInteger('size')->default(0); - $table->foreign('player_id')->references('id')->on('player'); + $table->foreign('player_id')->references('id')->on('player')->cascadeOnDelete(); }); } diff --git a/database/migrations/2024_03_30_000015_create_gmlist_table.php b/database/migrations/2024_03_30_000015_create_gmlist_table.php index c60fc83..34c2455 100644 --- a/database/migrations/2024_03_30_000015_create_gmlist_table.php +++ b/database/migrations/2024_03_30_000015_create_gmlist_table.php @@ -21,8 +21,8 @@ return new class extends Migration $table->string('mServerIP', 16)->default('ALL'); $table->enum('mAuthority', ['IMPLEMENTOR', 'HIGH_WIZARD', 'GOD', 'LOW_WIZARD', 'PLAYER'])->nullable()->default('PLAYER'); - $table->foreign('mAccount')->references('login')->on('account'); - $table->foreign('mName')->references('name')->on('player')->cascadeOnUpdate(); + $table->foreign('mAccount')->references('login')->on('account')->cascadeOnDelete(); + $table->foreign('mName')->references('name')->on('player')->cascadeOnUpdate()->cascadeOnDelete(); }); } diff --git a/database/migrations/2024_03_30_000016_create_goldlog_table.php b/database/migrations/2024_03_30_000016_create_goldlog_table.php index dd7b7fd..1d99332 100644 --- a/database/migrations/2024_03_30_000016_create_goldlog_table.php +++ b/database/migrations/2024_03_30_000016_create_goldlog_table.php @@ -22,7 +22,7 @@ return new class extends Migration $table->set('how', ['BUY', 'SELL', 'SHOP_SELL', 'SHOP_BUY', 'EXCHANGE_TAKE', 'EXCHANGE_GIVE', 'QUEST'])->nullable()->index('how_idx'); $table->string('hint', 50)->nullable(); - $table->foreign('pid')->references('id')->on('player'); + $table->foreign('pid')->references('id')->on('player')->cascadeOnDelete(); }); } diff --git a/database/migrations/2024_03_30_000020_create_guild_member_table.php b/database/migrations/2024_03_30_000020_create_guild_member_table.php index 320d9ad..2aeca99 100644 --- a/database/migrations/2024_03_30_000020_create_guild_member_table.php +++ b/database/migrations/2024_03_30_000020_create_guild_member_table.php @@ -21,8 +21,8 @@ return new class extends Migration $table->unsignedInteger('offer'); $table->primary(['guild_id', 'pid']); - $table->foreign('pid')->references('id')->on('player'); - $table->foreign('guild_id')->references('id')->on('guild'); + $table->foreign('pid')->references('id')->on('player')->cascadeOnDelete(); + $table->foreign('guild_id')->references('id')->on('guild')->cascadeOnDelete(); }); } diff --git a/database/migrations/2024_03_30_000026_create_horse_name_table.php b/database/migrations/2024_03_30_000026_create_horse_name_table.php index bb196ab..342fcdd 100644 --- a/database/migrations/2024_03_30_000026_create_horse_name_table.php +++ b/database/migrations/2024_03_30_000026_create_horse_name_table.php @@ -17,7 +17,7 @@ return new class extends Migration $table->unsignedInteger('id'); $table->string('name', 24)->default('Noname'); - $table->foreign('id')->references('id')->on('player'); + $table->foreign('id')->references('id')->on('player')->cascadeOnDelete(); }); } diff --git a/database/migrations/2024_03_30_000029_create_item_award_table.php b/database/migrations/2024_03_30_000029_create_item_award_table.php index c46e435..174d63f 100644 --- a/database/migrations/2024_03_30_000029_create_item_award_table.php +++ b/database/migrations/2024_03_30_000029_create_item_award_table.php @@ -28,7 +28,7 @@ return new class extends Migration $table->integer('socket2')->default(0); $table->boolean('mall')->default(false); - $table->foreign('pid')->references('id')->on('player'); + $table->foreign('pid')->references('id')->on('player')->cascadeOnDelete(); $table->foreign('login')->references('login')->on('account'); }); } diff --git a/database/migrations/2024_03_30_000033_create_levellog_table.php b/database/migrations/2024_03_30_000033_create_levellog_table.php index 1ca4060..4182c7c 100644 --- a/database/migrations/2024_03_30_000033_create_levellog_table.php +++ b/database/migrations/2024_03_30_000033_create_levellog_table.php @@ -23,7 +23,7 @@ return new class extends Migration $table->primary(['name', 'level']); $table->foreign('account_id')->references('id')->on('account'); - $table->foreign('pid')->references('id')->on('player'); + $table->foreign('pid')->references('id')->on('player')->cascadeOnDelete(); }); } diff --git a/database/migrations/2024_03_30_000036_create_loginlog_table.php b/database/migrations/2024_03_30_000036_create_loginlog_table.php index f80cbd1..287b2b0 100644 --- a/database/migrations/2024_03_30_000036_create_loginlog_table.php +++ b/database/migrations/2024_03_30_000036_create_loginlog_table.php @@ -28,7 +28,7 @@ return new class extends Migration $table->integer('playtime')->default(0); $table->foreign('account_id')->references('id')->on('account'); - $table->foreign('pid')->references('id')->on('player'); + $table->foreign('pid')->references('id')->on('player')->cascadeOnDelete(); }); } diff --git a/database/migrations/2024_03_30_000037_create_lotto_list_table.php b/database/migrations/2024_03_30_000037_create_lotto_list_table.php index a847d2f..1809447 100644 --- a/database/migrations/2024_03_30_000037_create_lotto_list_table.php +++ b/database/migrations/2024_03_30_000037_create_lotto_list_table.php @@ -19,7 +19,7 @@ return new class extends Migration $table->unsignedInteger('pid')->nullable(); $table->dateTime('time')->nullable(); - $table->foreign('pid')->references('id')->on('player'); + $table->foreign('pid')->references('id')->on('player')->cascadeOnDelete(); }); } diff --git a/database/migrations/2024_03_30_000042_create_marriage_table.php b/database/migrations/2024_03_30_000042_create_marriage_table.php index 303360c..0abc0cb 100644 --- a/database/migrations/2024_03_30_000042_create_marriage_table.php +++ b/database/migrations/2024_03_30_000042_create_marriage_table.php @@ -21,8 +21,8 @@ return new class extends Migration $table->unsignedInteger('time'); $table->primary(['pid1', 'pid2']); - $table->foreign('pid1')->references('id')->on('player'); - $table->foreign('pid2')->references('id')->on('player'); + $table->foreign('pid1')->references('id')->on('player')->cascadeOnDelete(); + $table->foreign('pid2')->references('id')->on('player')->cascadeOnDelete(); }); } diff --git a/database/migrations/2024_03_30_000043_create_messenger_list_table.php b/database/migrations/2024_03_30_000043_create_messenger_list_table.php index 874dda3..abde9f4 100644 --- a/database/migrations/2024_03_30_000043_create_messenger_list_table.php +++ b/database/migrations/2024_03_30_000043_create_messenger_list_table.php @@ -14,10 +14,12 @@ return new class extends Migration public function up() { Schema::create('messenger_list', function (Blueprint $table) { - $table->string('account', 16); - $table->string('companion', 16); + $table->string('account', 24); + $table->string('companion', 24); $table->primary(['account', 'companion']); + $table->foreign('account')->references('name')->on('player')->cascadeOnDelete()->cascadeOnUpdate(); + $table->foreign('companion')->references('name')->on('player')->cascadeOnDelete()->cascadeOnUpdate(); }); } diff --git a/database/migrations/2024_03_30_000045_create_monarch_candidacy_table.php b/database/migrations/2024_03_30_000045_create_monarch_candidacy_table.php index bef4629..88c15c1 100644 --- a/database/migrations/2024_03_30_000045_create_monarch_candidacy_table.php +++ b/database/migrations/2024_03_30_000045_create_monarch_candidacy_table.php @@ -20,7 +20,7 @@ return new class extends Migration $table->string('name', 16)->nullable(); $table->dateTime('windate')->nullable(); - $table->foreign('pid')->references('id')->on('player'); + $table->foreign('pid')->references('id')->on('player')->cascadeOnDelete(); }); } diff --git a/database/migrations/2024_03_30_000046_create_monarch_election_table.php b/database/migrations/2024_03_30_000046_create_monarch_election_table.php index 384a174..88060d8 100644 --- a/database/migrations/2024_03_30_000046_create_monarch_election_table.php +++ b/database/migrations/2024_03_30_000046_create_monarch_election_table.php @@ -18,8 +18,8 @@ return new class extends Migration $table->unsignedInteger('selectedpid'); $table->dateTime('electiondata')->useCurrent(); - $table->foreign('pid')->references('id')->on('player'); - $table->foreign('selectedpid')->references('id')->on('player'); + $table->foreign('pid')->references('id')->on('player')->cascadeOnDelete(); + $table->foreign('selectedpid')->references('id')->on('player')->cascadeOnDelete(); }); } diff --git a/database/migrations/2024_03_30_000047_create_monarch_table.php b/database/migrations/2024_03_30_000047_create_monarch_table.php index 9f67d7a..61546af 100644 --- a/database/migrations/2024_03_30_000047_create_monarch_table.php +++ b/database/migrations/2024_03_30_000047_create_monarch_table.php @@ -19,7 +19,7 @@ return new class extends Migration $table->dateTime('windate'); $table->unsignedBigInteger('money'); - $table->foreign('pid')->references('id')->on('player'); + $table->foreign('pid')->references('id')->on('player')->cascadeOnDelete(); }); } diff --git a/database/migrations/2024_03_30_000049_create_myshop_pricelist_table.php b/database/migrations/2024_03_30_000049_create_myshop_pricelist_table.php index d620215..2170804 100644 --- a/database/migrations/2024_03_30_000049_create_myshop_pricelist_table.php +++ b/database/migrations/2024_03_30_000049_create_myshop_pricelist_table.php @@ -19,7 +19,7 @@ return new class extends Migration $table->unsignedInteger('price'); $table->unique(['owner_id', 'item_vnum'], 'list_id'); - $table->foreign('owner_id')->references('id')->on('player'); + $table->foreign('owner_id')->references('id')->on('player')->cascadeOnDelete(); }); } diff --git a/database/migrations/2024_03_30_000053_create_player_index_table.php b/database/migrations/2024_03_30_000053_create_player_index_table.php index 489a2cd..367ab86 100644 --- a/database/migrations/2024_03_30_000053_create_player_index_table.php +++ b/database/migrations/2024_03_30_000053_create_player_index_table.php @@ -22,10 +22,10 @@ return new class extends Migration $table->tinyInteger('empire')->default(0); $table->foreign('id')->references('id')->on('account'); - $table->foreign('pid1')->references('id')->on('player'); - $table->foreign('pid2')->references('id')->on('player'); - $table->foreign('pid3')->references('id')->on('player'); - $table->foreign('pid4')->references('id')->on('player'); + $table->foreign('pid1')->references('id')->on('player')->cascadeOnDelete(); + $table->foreign('pid2')->references('id')->on('player')->cascadeOnDelete(); + $table->foreign('pid3')->references('id')->on('player')->cascadeOnDelete(); + $table->foreign('pid4')->references('id')->on('player')->cascadeOnDelete(); }); } diff --git a/database/migrations/2024_03_30_000054_create_quest_reward_log_table.php b/database/migrations/2024_03_30_000054_create_quest_reward_log_table.php index d27f896..b885b68 100644 --- a/database/migrations/2024_03_30_000054_create_quest_reward_log_table.php +++ b/database/migrations/2024_03_30_000054_create_quest_reward_log_table.php @@ -22,7 +22,7 @@ return new class extends Migration $table->integer('reward_value2'); $table->dateTime('time')->nullable(); - $table->foreign('player_id')->references('id')->on('player'); + $table->foreign('player_id')->references('id')->on('player')->cascadeOnDelete(); }); } diff --git a/database/migrations/2024_03_30_000055_create_quest_table.php b/database/migrations/2024_03_30_000055_create_quest_table.php index 53ffcb8..2ab0cd5 100644 --- a/database/migrations/2024_03_30_000055_create_quest_table.php +++ b/database/migrations/2024_03_30_000055_create_quest_table.php @@ -20,7 +20,7 @@ return new class extends Migration $table->integer('lValue')->default(0); $table->index(['dwPID', 'szName', 'szState']); - $table->foreign('dwPID')->references('id')->on('player'); + $table->foreign('dwPID')->references('id')->on('player')->cascadeOnDelete(); }); } diff --git a/database/migrations/2024_03_30_000064_create_speed_hack_table.php b/database/migrations/2024_03_30_000064_create_speed_hack_table.php index ce72d9f..83b39f7 100644 --- a/database/migrations/2024_03_30_000064_create_speed_hack_table.php +++ b/database/migrations/2024_03_30_000064_create_speed_hack_table.php @@ -20,7 +20,7 @@ return new class extends Migration $table->integer('y'); $table->string('hack_count', 20)->nullable(); - $table->foreign('pid')->references('id')->on('player'); + $table->foreign('pid')->references('id')->on('player')->cascadeOnDelete(); }); }