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