From 8cd1084bd89e28e91c0fe2eddd6693804acdb2d6 Mon Sep 17 00:00:00 2001 From: pricelees Date: Mon, 15 Sep 2025 14:46:14 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20store=20=EC=8A=A4=ED=82=A4=EB=A7=88?= =?UTF-8?q?=EC=97=90=EC=84=9C=20=EC=B6=94=EA=B0=80=EB=90=98=EC=A7=80=20?= =?UTF-8?q?=EC=95=8A=EC=9D=80=20contact=20=EC=BB=AC=EB=9F=BC=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../store/infrastructure/persistence/StoreEntity.kt | 9 +++++++++ src/main/resources/schema/schema-h2.sql | 4 ++++ src/test/kotlin/roomescape/data/StoreDataInitializer.kt | 9 ++++++--- src/test/kotlin/roomescape/supports/Fixtures.kt | 2 ++ 4 files changed, 21 insertions(+), 3 deletions(-) diff --git a/src/main/kotlin/roomescape/store/infrastructure/persistence/StoreEntity.kt b/src/main/kotlin/roomescape/store/infrastructure/persistence/StoreEntity.kt index cb165a04..c73d4535 100644 --- a/src/main/kotlin/roomescape/store/infrastructure/persistence/StoreEntity.kt +++ b/src/main/kotlin/roomescape/store/infrastructure/persistence/StoreEntity.kt @@ -16,9 +16,18 @@ import java.time.LocalDateTime class StoreEntity( id: Long, + @Column(unique = false) var name: String, + + @Column(unique = false) var address: String, + + @Column(unique = false) + var contact: String, + + @Column(unique = false) val businessRegNum: String, + val regionCode: String, ) : PersistableBaseEntity(id) { diff --git a/src/main/resources/schema/schema-h2.sql b/src/main/resources/schema/schema-h2.sql index 3a3c1b45..66fee5a8 100644 --- a/src/main/resources/schema/schema-h2.sql +++ b/src/main/resources/schema/schema-h2.sql @@ -12,12 +12,16 @@ create table if not exists store( id bigint primary key, name varchar(20) not null, address varchar(100) not null, + contact varchar(50) not null, business_reg_num varchar(12) not null, region_code varchar(10) not null, created_at timestamp not null, updated_at timestamp not null, + constraint uk_store__name unique (name), + constraint uk_store__contact unique (contact), + constraint uk_store__address unique (address), constraint uk_store__business_reg_num unique (business_reg_num), constraint fk_store__region_code foreign key (region_code) references region (code) ); diff --git a/src/test/kotlin/roomescape/data/StoreDataInitializer.kt b/src/test/kotlin/roomescape/data/StoreDataInitializer.kt index 8d6e134c..76152f95 100644 --- a/src/test/kotlin/roomescape/data/StoreDataInitializer.kt +++ b/src/test/kotlin/roomescape/data/StoreDataInitializer.kt @@ -2,6 +2,7 @@ package roomescape.data import io.kotest.core.spec.style.StringSpec import roomescape.common.config.next +import roomescape.supports.randomPhoneNumber import roomescape.supports.tsidFactory import java.io.File import java.time.LocalDateTime @@ -39,6 +40,8 @@ class StoreDataInitializer : StringSpec({ } while (usedStoreName.contains(storeName)) usedStoreName.add(storeName) + val contact = randomPhoneNumber() + var businessRegNum: String do { businessRegNum = generateBusinessRegNum() @@ -51,15 +54,15 @@ class StoreDataInitializer : StringSpec({ val id: Long = tsidFactory.next().also { storeIds.add(it) } storeSqlRows.add( - "(${id}, '$storeName', '$address', '$businessRegNum', '${region.regionCode}', '$createdAt', '$updatedAt')" + "(${id}, '$storeName', '$address', '$contact', '$businessRegNum', '${region.regionCode}', '$createdAt', '$updatedAt')" ) storeDataRows.add( - "$id, $storeName, $address, $businessRegNum, ${region.regionCode}, $createdAt, $updatedAt" + "$id, $storeName, $address, $contact, $businessRegNum, ${region.regionCode}, $createdAt, $updatedAt" ) } } - StringBuilder("INSERT INTO store (id, name, address, business_reg_num, region_code, created_at, updated_at) VALUES ") + StringBuilder("INSERT INTO store (id, name, address, contact, business_reg_num, region_code, created_at, updated_at) VALUES ") .append(storeSqlRows.joinToString(",\n")) .append(";") .toString() diff --git a/src/test/kotlin/roomescape/supports/Fixtures.kt b/src/test/kotlin/roomescape/supports/Fixtures.kt index ecc056bd..a83fb6f8 100644 --- a/src/test/kotlin/roomescape/supports/Fixtures.kt +++ b/src/test/kotlin/roomescape/supports/Fixtures.kt @@ -31,12 +31,14 @@ object StoreFixture { id: Long = tsidFactory.next(), name: String = "테스트-${randomString()}점", address: String = "서울특별시 강북구 행복길 123", + contact: String = randomPhoneNumber(), businessRegNum: String = "123-45-67890", regionCode: String = "1111000000" ) = StoreEntity( id = id, name = name, address = address, + contact = contact, businessRegNum = businessRegNum, regionCode = regionCode )