CREATE DATABASE buddyguard;
USE buddyguard;
CREATE TABLE PETS (
id INTEGER PRIMARY KEY AUTO_INCREMENT, -- 기본 키, 자동 증가
name VARCHAR(255) NOT NULL, -- 반려동물 이름
profile_image VARCHAR(255) NOT NULL, -- 반려동물 사진
type VARCHAR(255) NOT NULL, -- 종류를 관리
birth DATE NOT NULL -- 태어난 날 설정
);
CREATE TABLE USERS (
id INTEGER PRIMARY KEY AUTO_INCREMENT, -- 기본 키, 자동 증가
email VARCHAR(255) NOT NULL, -- 사용자의 카카오 이메일
name VARCHAR(255) NOT NULL, -- 기본값은 사용자의 카카오 이름 / 변경 가능
profile_image VARCHAR(255) NOT NULL -- 기본값은 사용자의 카카오 프로필 사진 / 변경 가능
oauth_id VARCHAR(255) NOT NULL -- 카카오에서 전달해주는 id값을 가공 후 저장 (kakao1234)
role VARCHAR(255) NOT NULL -- 유저 권한
);
CREATE TABLE USER_PET
(
id INTEGER PRIMARY KEY AUTO_INCREMENT, -- 기본 키, 자동 증가
user_id INTEGER NOT NULL, -- 사용자 아이디
pet_id INTEGER NOT NULL, -- 반려동물 아이디
role VARCHAR(255) NOT NULL -- 사용자 역할 (host, guest)
);
CREATE TABLE HOSPITAL_RECORDS (
id BIGINT AUTO_INCREMENT PRIMARY KEY,
pet_id BIGINT NOT NULL,
date DATETIME NOT NULL,
title VARCHAR(255) NOT NULL,
description TEXT NOT NULL
);
- VACCINATION_RECORDS 테이블 생성
CREATE TABLE VACCINATION_RECORDS
(
id INTEGER PRIMARY KEY AUTO_INCREMENT, -- 기본 키, 자동 증가
user_id INTEGER NOT NULL, -- 사용자 ID (외래 키)
pet_id INTEGER NOT NULL, -- 반려동물 ID (외래 키)
vaccination_date DATE NOT NULL, -- 예방접종 날짜
vaccination_name VARCHAR(255) NOT NULL, -- 백신 이름
description VARCHAR(255) NOT NULL -- 접종에 대한 설명
);
CREATE TABLE WEIGHT_RECORDS (
id INTEGER PRIMARY KEY AUTO_INCREMENT, -- 기본 키, 자동 증가
pet_id INTEGER NOT NULL, -- 반려동물 ID (외래 키)
recorded_at DATE NOT NULL, -- 기록 생성 날짜
weight DOUBLE NOT NULL -- 체중
description VARCHAR(255) NOT NULL
);
CREATE TABLE PLAY_RECORDS (
id INTEGER PRIMARY KEY AUTO_INCREMENT, -- 기본 키, 자동 증가
pet_id INTEGER NOT NULL, -- 반려동물 ID (외래 키)
user_id INTEGER NOT NULL, -- 사용자 ID (외래 키)
play_name VARCHAR(255) NOT NULL, -- 놀이 이름
recorded_at DATE NOT NULL, -- 놀이 날짜
start_time TIME NOT NULL, -- 놀이 시작 시간
end_time TIME NOT NULL, -- 놀이 종료 시간
description VARCHAR(255) NOT NULL -- 세부 설명
);
CREATE TABLE FEED_RECORDS (
id INTEGER PRIMARY KEY AUTO_INCREMENT, -- 기본 키, 자동 증가
pet_id INTEGER NOT NULL, -- 반려동물 ID (외래 키)
feed_type VARCHAR(255) NOT NULL, -- 먹이 타입 (식사, 간식)
date DATE NOT NULL, -- 먹이 준 날짜
amount DOUBLE NOT NULL, -- 식사량
amount_type VARCHAR(255) NOT NULL -- 식사량 타입 (g, ml, L, 개 등)
);
- REFRESH_TOKEN 테이블 생성 (redis로 변경 완료)
CREATE TABLE REFRESH_TOKEN (
id BIGINT AUTO_INCREMENT PRIMARY KEY, -- 기본 키
user_id BIGINT NOT NULL, -- 사용자 ID
token VARCHAR(255) NOT NULL, -- 토큰 값
expiration VARCHAR(255) NOT NULL -- 만료일자 (형식에 따라 VARCHAR 사용)
);