Chore: DB - 각 ID 컬럼의 데이터 타입 및 Entity 수정

This commit is contained in:
Gyubin-Han
2025-06-12 18:43:14 +09:00
parent 77b78282a1
commit 182d065b37
4 changed files with 18 additions and 11 deletions

View File

@@ -14,6 +14,7 @@
### 구현 현황 ### 구현 현황
- [x] 개발 환경 구축 - [x] 개발 환경 구축
- [x] DB 설계 및 Entity 구현 - [x] DB 설계 및 Entity 구현
- [x] URL 단축 알고리즘 구현 - [x] HTTP(HTTPS) URL 검증 구현
- [ ] URL 단축 알고리즘 구현
- [ ] URL 단축 저장 및 조회 기능 구현 - [ ] URL 단축 저장 및 조회 기능 구현
- [ ] 테스트 및 배포 - [ ] 테스트 및 배포

View File

@@ -6,7 +6,7 @@ DROP TABLE IF EXISTS url_map;
DROP TABLE IF EXISTS users; DROP TABLE IF EXISTS users;
CREATE TABLE `users`( CREATE TABLE `users`(
`user_id` INT NOT NULL AUTO_INCREMENT, `user_id` BIGINT NOT NULL AUTO_INCREMENT,
`user_email` VARCHAR(100) NOT NULL, `user_email` VARCHAR(100) NOT NULL,
`user_password` VARCHAR(30) NOT NULL, `user_password` VARCHAR(30) NOT NULL,
`user_nickname` VARCHAR(20) NOT NULL, `user_nickname` VARCHAR(20) NOT NULL,
@@ -15,14 +15,14 @@ CREATE TABLE `users`(
); );
CREATE TABLE `url_map`( CREATE TABLE `url_map`(
`url_map_id` INT NOT NULL AUTO_INCREMENT, `url_map_id` BIGINT NOT NULL AUTO_INCREMENT,
`url_map_original` VARCHAR(255) NOT NULL, `url_map_original` VARCHAR(255) NOT NULL,
`url_map_short` VARCHAR(7) NOT NULL, `url_map_short` VARCHAR(20) NOT NULL,
`url_map_is_active` TINYINT(1) NOT NULL, `url_map_is_active` TINYINT(1) NOT NULL,
`user_id` INT NULL, `user_id` BIGINT NULL,
`url_map_click` INT NOT NULL DEFAULT 0, `url_map_click` BIGINT NOT NULL DEFAULT 0,
`url_map_created_at` DATETIME NOT NULL, `url_map_created_at` DATETIME NOT NULL,
`url_map_edited_at` DATETIME NOT NULL, `url_map_updated_at` DATETIME NOT NULL,
`url_map_expired_at` DATETIME NULL, `url_map_expired_at` DATETIME NULL,
PRIMARY KEY(url_map_id), PRIMARY KEY(url_map_id),
FOREIGN KEY(user_id) REFERENCES users(user_id) FOREIGN KEY(user_id) REFERENCES users(user_id)

View File

@@ -2,28 +2,32 @@ package be.gyu.urlShortener.entity;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import jakarta.persistence.Column;
import jakarta.persistence.Entity; import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue; import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType; import jakarta.persistence.GenerationType;
import jakarta.persistence.Id; import jakarta.persistence.Id;
import jakarta.persistence.JoinColumn; import jakarta.persistence.JoinColumn;
import jakarta.persistence.ManyToOne; import jakarta.persistence.ManyToOne;
import lombok.Builder;
import lombok.Getter; import lombok.Getter;
@Entity @Entity
@Getter @Getter
@Builder(toBuilder=true)
public class UrlMap { public class UrlMap {
@Id @Id
@GeneratedValue(strategy=GenerationType.IDENTITY) @GeneratedValue(strategy=GenerationType.IDENTITY)
private int urlMapId; private Long urlMapId;
private String urlMapOriginal; private String urlMapOriginal;
private String urlMapShort; private String urlMapShort;
private boolean urlMapIsActive; private boolean urlMapIsActive;
@ManyToOne @ManyToOne
@JoinColumn(name="user_id") @JoinColumn(name="user_id")
private Users user; private Users user;
private int urlMapClick; @Column(insertable=false)
private Long urlMapClick;
private LocalDateTime urlMapCreatedAt; private LocalDateTime urlMapCreatedAt;
private LocalDateTime urlMapEditedAt; private LocalDateTime urlMapUpdatedAt;
private LocalDateTime urlMapExpiredAt; private LocalDateTime urlMapExpiredAt;
} }

View File

@@ -6,14 +6,16 @@ import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue; import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType; import jakarta.persistence.GenerationType;
import jakarta.persistence.Id; import jakarta.persistence.Id;
import lombok.Builder;
import lombok.Getter; import lombok.Getter;
@Entity @Entity
@Getter @Getter
@Builder
public class Users { public class Users {
@Id @Id
@GeneratedValue(strategy=GenerationType.IDENTITY) @GeneratedValue(strategy=GenerationType.IDENTITY)
private int userId; private Long userId;
private String userEmail; private String userEmail;
private String userPassword; private String userPassword;
private String userNickname; private String userNickname;