From cac409e7dcde3ebdda227350331c9e53ff016f14 Mon Sep 17 00:00:00 2001 From: hskwon Date: Wed, 17 Dec 2025 19:11:49 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20system=5Ffield=5Fdefinitions=20?= =?UTF-8?q?=ED=85=8C=EC=9D=B4=EB=B8=94=20=EB=A7=88=EC=9D=B4=EA=B7=B8?= =?UTF-8?q?=EB=A0=88=EC=9D=B4=EC=85=98=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ..._create_system_field_definitions_table.php | 41 +++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 database/migrations/2025_12_16_180058_create_system_field_definitions_table.php diff --git a/database/migrations/2025_12_16_180058_create_system_field_definitions_table.php b/database/migrations/2025_12_16_180058_create_system_field_definitions_table.php new file mode 100644 index 0000000..1e05a06 --- /dev/null +++ b/database/migrations/2025_12_16_180058_create_system_field_definitions_table.php @@ -0,0 +1,41 @@ +id(); + $table->string('source_table', 100)->comment('소스 테이블명'); + $table->string('source_table_label', 100)->comment('소스 테이블 라벨'); + $table->string('field_key', 100)->comment('필드 키'); + $table->string('field_name', 100)->comment('필드명'); + $table->string('field_type', 50)->comment('필드 타입'); + $table->integer('order_no')->default(0)->comment('정렬 순서'); + $table->boolean('is_required')->default(false)->comment('필수 여부'); + $table->boolean('is_seed_default')->default(true)->comment('기본 시딩 대상'); + $table->string('default_value')->nullable()->comment('기본값'); + $table->json('options')->nullable()->comment('옵션'); + $table->boolean('is_active')->default(true)->comment('활성 여부'); + $table->timestamps(); + + $table->index(['source_table', 'is_active']); + $table->unique(['source_table', 'field_key']); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('system_field_definitions'); + } +};