diff options
Diffstat (limited to 'app/Schema/Migration45.php')
| -rw-r--r-- | app/Schema/Migration45.php | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/app/Schema/Migration45.php b/app/Schema/Migration45.php index c1c84f31f1..b8e7a6e774 100644 --- a/app/Schema/Migration45.php +++ b/app/Schema/Migration45.php @@ -49,8 +49,15 @@ final readonly class Migration45 implements MigrationInterface $table->integer(column: 'private')->default(value: 0)->index(); $table->integer(column: 'contact_user_id')->nullable()->index(); $table->integer(column: 'support_user_id')->nullable()->index(); - $table->foreign(columns: ['contact_user_id'])->references(['user_id'])->on('user')->nullOnDelete()->cascadeOnUpdate(); - $table->foreign(columns: ['support_user_id'])->references(['user_id'])->on('user')->nullOnDelete()->cascadeOnUpdate(); + + if (DB::driverName() === DB::SQL_SERVER) { + // SQL-Server can't use CASCADE or SET NULL constraints here, as it can't handle multiple paths + $table->foreign(columns: ['contact_user_id'])->references(['user_id'])->on('user'); + $table->foreign(columns: ['support_user_id'])->references(['user_id'])->on('user'); + } else { + $table->foreign(columns: ['contact_user_id'])->references(['user_id'])->on('user')->nullOnDelete()->cascadeOnUpdate(); + $table->foreign(columns: ['support_user_id'])->references(['user_id'])->on('user')->nullOnDelete()->cascadeOnUpdate(); + } }); } |
