Skip to content

Commit e4f7961

Browse files
authored
Merge pull request #6 from CampusTable/20260112_#5_로그인_및_기타_인증_관련_로직_개발
20260112 #5 로그인 및 기타 인증 관련 로직 개발
2 parents 13925c6 + 09374f7 commit e4f7961

5 files changed

Lines changed: 42 additions & 1 deletion

File tree

CT-member/src/main/kotlin/com/chuseok22/ctmember/infrastructure/entity/Member.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ open class Member protected constructor() : BaseEntity() {
1313
var id: UUID? = null
1414
protected set
1515

16-
@field:Column(name = "student_name", nullable = false, unique = true)
16+
@field:Column(name = "student_name", nullable = false)
1717
lateinit var studentName: String
1818
protected set
1919

CT-web/build.gradle.kts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,5 +11,7 @@ dependencies {
1111
implementation(libs.swagger.ui)
1212
implementation(libs.http.logging)
1313
implementation(libs.api.change.log)
14+
implementation(libs.flyway.migration)
15+
implementation(libs.flyway.database.postgresql)
1416
}
1517

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
-- member 테이블 생성
2+
CREATE TABLE member
3+
(
4+
id UUID NOT NULL,
5+
student_name varchar(255) NOT NULL,
6+
name varchar(255) NOT NULL,
7+
role varchar(50) NOT NULL,
8+
9+
created_at timestamptz NOT NULL DEFAULT NOW(),
10+
updated_at timestamptz NOT NULL DEFAULT NOW(),
11+
12+
deleted boolean NOT NULL DEFAULT FALSE,
13+
deleted_at timestamptz NULL,
14+
15+
CONSTRAINT pk_member PRIMARY KEY (id),
16+
CONSTRAINT chk_member_role CHECK ( role IN ('ROLE_USER', 'ROLE_ADMIN'))
17+
);
18+
19+
-- 활성 회원에 대해서 student_name 유니크 적용
20+
CREATE UNIQUE INDEX uq_member_student_name_active
21+
ON member (student_name)
22+
WHERE deleted = FALSE;
23+
24+
-- 조회 인덱스 (학번 + 삭제여부)
25+
CREATE INDEX idx_member_student_name_deleted
26+
ON member (student_name, deleted);

build.gradle.kts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import org.jetbrains.kotlin.allopen.gradle.AllOpenExtension
12
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
23

34
plugins {
@@ -28,6 +29,7 @@ subprojects {
2829
apply(plugin = "org.jetbrains.kotlin.jvm")
2930
apply(plugin = "org.jetbrains.kotlin.plugin.spring")
3031
apply(plugin = "org.jetbrains.kotlin.plugin.jpa")
32+
apply(plugin = "org.jetbrains.kotlin.plugin.allopen")
3133
apply(plugin = "org.springframework.boot")
3234
apply(plugin = "io.spring.dependency-management")
3335

@@ -37,6 +39,12 @@ subprojects {
3739
}
3840
}
3941

42+
configure<AllOpenExtension> {
43+
annotation("jakarta.persistence.Entity")
44+
annotation("jakarta.persistence.MappedSuperclass")
45+
annotation("jakarta.persistence.Embeddable")
46+
}
47+
4048
configurations.named("compileOnly") {
4149
extendsFrom(configurations.named("annotationProcessor").get())
4250
}

gradle/libs.versions.toml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
kotlin = "2.3.0"
44
springBoot = "3.5.9"
55
springDependencyManagement = "1.1.7"
6+
flyway = "11.20.1"
67
swaggerUI = "2.8.15"
78
jjwt = "0.12.7"
89
kotlinLogging = "7.0.14"
@@ -23,6 +24,10 @@ spring-boot-starter-validation = { module = "org.springframework.boot:spring-boo
2324
# Test
2425
spring-boot-starter-test = { module = "org.springframework.boot:spring-boot-starter-test" }
2526

27+
# Flyway
28+
flyway-migration = { module = "org.flywaydb:flyway-core", version.ref = "flyway" }
29+
flyway-database-postgresql = { module = "org.flywaydb:flyway-database-postgresql", version.ref = "flyway" }
30+
2631
# Redis
2732
spring-boot-starter-data-redis = { module = "org.springframework.boot:spring-boot-starter-data-redis" }
2833

0 commit comments

Comments
 (0)