From 2605d06f9175393a74be4ea0975d83ab5f64d0b9 Mon Sep 17 00:00:00 2001 From: hskwon Date: Tue, 2 Dec 2025 16:35:19 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20products=20=ED=85=8C=EC=9D=B4=EB=B8=94?= =?UTF-8?q?=20category=5Fid=20nullable=EB=A1=9C=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 외래 키 제약조건으로 인한 INSERT 오류 해결 - category_id 기본값 null 설정 - ON DELETE SET NULL로 외래 키 제약조건 변경 --- ...er_products_table_category_id_nullable.php | 51 +++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 database/migrations/2025_12_02_163431_alter_products_table_category_id_nullable.php diff --git a/database/migrations/2025_12_02_163431_alter_products_table_category_id_nullable.php b/database/migrations/2025_12_02_163431_alter_products_table_category_id_nullable.php new file mode 100644 index 0000000..93fa15f --- /dev/null +++ b/database/migrations/2025_12_02_163431_alter_products_table_category_id_nullable.php @@ -0,0 +1,51 @@ +dropForeign(['category_id']); + }); + + Schema::table('products', function (Blueprint $table) { + // category_id를 nullable로 변경하고 기본값 null 설정 + $table->unsignedBigInteger('category_id')->nullable()->default(null)->change(); + + // 외래 키 재설정 (SET NULL) + $table->foreign('category_id') + ->references('id') + ->on('categories') + ->onDelete('set null') + ->onUpdate('cascade'); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('products', function (Blueprint $table) { + $table->dropForeign(['category_id']); + }); + + Schema::table('products', function (Blueprint $table) { + $table->unsignedBigInteger('category_id')->nullable(false)->default(0)->change(); + + $table->foreign('category_id') + ->references('id') + ->on('categories') + ->onDelete('restrict') + ->onUpdate('cascade'); + }); + } +}; \ No newline at end of file