Compare commits
3 Commits
Author | SHA1 | Date | |
---|---|---|---|
c7492e0c88 | |||
53d81dac48 | |||
66d9195fd7 |
6
.idea/.gitignore
vendored
Normal file
6
.idea/.gitignore
vendored
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
# 디폴트 무시된 파일
|
||||||
|
/shelf/
|
||||||
|
/workspace.xml
|
||||||
|
# Datasource local storage ignored files
|
||||||
|
/dataSources/
|
||||||
|
/dataSources.local.xml
|
8
.idea/AcaMate_DB.iml
Normal file
8
.idea/AcaMate_DB.iml
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<module type="DBE_MODULE" version="4">
|
||||||
|
<component name="NewModuleRootManager">
|
||||||
|
<content url="file://$MODULE_DIR$" />
|
||||||
|
<orderEntry type="inheritedJdk" />
|
||||||
|
<orderEntry type="sourceFolder" forTests="false" />
|
||||||
|
</component>
|
||||||
|
</module>
|
15
.idea/dataSources.xml
Normal file
15
.idea/dataSources.xml
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="DataSourceManagerImpl" format="xml" multifile-model="true">
|
||||||
|
<data-source source="LOCAL" name="AcaMate@ipstein.myds.me" uuid="c981a77c-77fb-455d-a5c4-2393c7c48d2e">
|
||||||
|
<driver-ref>mariadb</driver-ref>
|
||||||
|
<synchronize>true</synchronize>
|
||||||
|
<jdbc-driver>org.mariadb.jdbc.Driver</jdbc-driver>
|
||||||
|
<jdbc-url>jdbc:mariadb://ipstein.myds.me:8003/AcaMate</jdbc-url>
|
||||||
|
<jdbc-additional-properties>
|
||||||
|
<property name="database.introspection.mysql.dbe5060" value="true" />
|
||||||
|
</jdbc-additional-properties>
|
||||||
|
<working-dir>$ProjectFileDir$</working-dir>
|
||||||
|
</data-source>
|
||||||
|
</component>
|
||||||
|
</project>
|
8
.idea/modules.xml
Normal file
8
.idea/modules.xml
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="ProjectModuleManager">
|
||||||
|
<modules>
|
||||||
|
<module fileurl="file://$PROJECT_DIR$/.idea/AcaMate_DB.iml" filepath="$PROJECT_DIR$/.idea/AcaMate_DB.iml" />
|
||||||
|
</modules>
|
||||||
|
</component>
|
||||||
|
</project>
|
13
.idea/sqldialects.xml
Normal file
13
.idea/sqldialects.xml
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="SqlDialectMappings">
|
||||||
|
<file url="file://$PROJECT_DIR$/scripts/AddIndex.sql" dialect="MariaDB" />
|
||||||
|
<file url="file://$PROJECT_DIR$/scripts/Chat.sql" dialect="MariaDB" />
|
||||||
|
<file url="file://$PROJECT_DIR$/scripts/Class.sql" dialect="MariaDB" />
|
||||||
|
<file url="file://$PROJECT_DIR$/scripts/Push.sql" dialect="MariaDB" />
|
||||||
|
<file url="file://$PROJECT_DIR$/scripts/Token.sql" dialect="MariaDB" />
|
||||||
|
<file url="file://$PROJECT_DIR$/scripts/User.sql" dialect="MariaDB" />
|
||||||
|
<file url="file://$PROJECT_DIR$/scripts/log.sql" dialect="MariaDB" />
|
||||||
|
<file url="PROJECT" dialect="MariaDB" />
|
||||||
|
</component>
|
||||||
|
</project>
|
6
.idea/vcs.xml
Normal file
6
.idea/vcs.xml
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="VcsDirectoryMappings">
|
||||||
|
<mapping directory="" vcs="Git" />
|
||||||
|
</component>
|
||||||
|
</project>
|
91
scripts/AddIndex.sql
Normal file
91
scripts/AddIndex.sql
Normal file
|
@ -0,0 +1,91 @@
|
||||||
|
create table academy
|
||||||
|
(
|
||||||
|
bid char(6) not null
|
||||||
|
primary key,
|
||||||
|
business_name varchar(100) not null,
|
||||||
|
business_owner varchar(50) not null,
|
||||||
|
business_number varchar(20) not null,
|
||||||
|
business_date datetime not null,
|
||||||
|
business_address varchar(200) not null,
|
||||||
|
business_contact varchar(15) not null,
|
||||||
|
uid varchar(70) not null
|
||||||
|
);
|
||||||
|
|
||||||
|
create table payload
|
||||||
|
(
|
||||||
|
pid char(22) not null
|
||||||
|
primary key,
|
||||||
|
title varchar(100) not null,
|
||||||
|
subtitle varchar(100) null,
|
||||||
|
body varchar(255) not null,
|
||||||
|
alert_yn tinyint(1) default 1 not null,
|
||||||
|
category char(4) not null,
|
||||||
|
content text null
|
||||||
|
);
|
||||||
|
|
||||||
|
create table push_cabinet
|
||||||
|
(
|
||||||
|
uid varchar(70) not null,
|
||||||
|
pid char(22) not null,
|
||||||
|
send_date datetime not null,
|
||||||
|
check_yn tinyint(1) default 0 not null,
|
||||||
|
primary key (uid, pid),
|
||||||
|
constraint fk_pushcabinet_pid_to_payload
|
||||||
|
foreign key (pid) references payload (pid)
|
||||||
|
on update cascade on delete cascade,
|
||||||
|
constraint fk_pushcabinet_uid_to_user
|
||||||
|
foreign key (uid) references user (uid)
|
||||||
|
on update cascade on delete cascade
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
ALTER TABLE payload
|
||||||
|
ADD COLUMN bid CHAR(6) NOT NULL DEFAULT '000000' AFTER pid
|
||||||
|
;
|
||||||
|
|
||||||
|
ALTER TABLE payload
|
||||||
|
DROP PRIMARY KEY ,
|
||||||
|
ADD PRIMARY KEY (bid, pid)
|
||||||
|
;
|
||||||
|
|
||||||
|
ALTER TABLE payload
|
||||||
|
ADD CONSTRAINT fk_payload_bid_to_academy
|
||||||
|
FOREIGN KEY (bid) REFERENCES academy(bid)
|
||||||
|
ON UPDATE CASCADE ON DELETE CASCADE
|
||||||
|
;
|
||||||
|
|
||||||
|
|
||||||
|
# //------//
|
||||||
|
ALTER TABLE push_cabinet
|
||||||
|
ADD COLUMN bid CHAR(6) NOT NULL DEFAULT 'AA0000' AFTER uid
|
||||||
|
;
|
||||||
|
|
||||||
|
ALTER TABLE push_cabinet
|
||||||
|
DROP PRIMARY KEY,
|
||||||
|
ADD PRIMARY KEY (bid, uid, pid)
|
||||||
|
;
|
||||||
|
|
||||||
|
|
||||||
|
ALTER TABLE push_cabinet
|
||||||
|
DROP FOREIGN KEY fk_pushcabinet_pid_to_payload
|
||||||
|
;
|
||||||
|
|
||||||
|
ALTER TABLE push_cabinet
|
||||||
|
DROP FOREIGN KEY fk_pushcabinet_uid_to_user
|
||||||
|
;
|
||||||
|
|
||||||
|
ALTER TABLE push_cabinet
|
||||||
|
ADD CONSTRAINT fk_pushcabinet_payload
|
||||||
|
FOREIGN KEY (bid, pid) REFERENCES payload(bid, pid)
|
||||||
|
ON UPDATE CASCADE ON DELETE CASCADE
|
||||||
|
;
|
||||||
|
|
||||||
|
|
||||||
|
ALTER TABLE push_cabinet
|
||||||
|
ADD CONSTRAINT fk_pushcabinet_bid_to_academy
|
||||||
|
FOREIGN KEY (bid) REFERENCES academy(bid)
|
||||||
|
ON UPDATE CASCADE ON DELETE CASCADE
|
||||||
|
;
|
||||||
|
|
||||||
|
|
||||||
|
|
56
scripts/Chat.sql
Normal file
56
scripts/Chat.sql
Normal file
|
@ -0,0 +1,56 @@
|
||||||
|
CREATE TABLE chat_room
|
||||||
|
(
|
||||||
|
cid CHAR(16) NOT NULL PRIMARY KEY, -- 채팅방 구분 코드: 6(bid) + 6(yyyyMMdd) + 4(숫자 카운트)
|
||||||
|
bid CHAR(6) NOT NULL, -- 학원 구분 코드
|
||||||
|
name TEXT NOT NULL, -- 채팅방 이름
|
||||||
|
type CHAR(4) NOT NULL, -- 채팅방 유형 (1:1, 그룹 등)
|
||||||
|
create_date DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, -- 생성 일자
|
||||||
|
open_date DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, -- 오픈 일자
|
||||||
|
close_date DATETIME, -- 중지 일자 (채팅방 종료 처리)
|
||||||
|
FOREIGN KEY (bid) REFERENCES academy (bid) ON DELETE CASCADE ON UPDATE CASCADE
|
||||||
|
);
|
||||||
|
|
||||||
|
CREATE TABLE chat_join
|
||||||
|
(
|
||||||
|
cid CHAR(16) NOT NULL, -- 채팅방 구분 코드
|
||||||
|
uid VARCHAR(70) NOT NULL, -- 사용자 구분 코드
|
||||||
|
join_date DATETIME NOT NULL, -- 채팅방 입장 시간
|
||||||
|
mid CHAR(36), -- 마지막 확인한 메시지 ID
|
||||||
|
is_notice BOOLEAN DEFAULT TRUE, -- 알림 설정 여부
|
||||||
|
PRIMARY KEY (cid, uid),
|
||||||
|
FOREIGN KEY (cid) REFERENCES chat_room (cid) ON DELETE CASCADE ON UPDATE CASCADE,
|
||||||
|
FOREIGN KEY (uid) REFERENCES user (uid) ON DELETE CASCADE ON UPDATE CASCADE,
|
||||||
|
FOREIGN KEY (mid) REFERENCES chat_message (mid) ON UPDATE CASCADE
|
||||||
|
);
|
||||||
|
|
||||||
|
CREATE TABLE chat_message
|
||||||
|
(
|
||||||
|
mid CHAR(36) NOT NULL PRIMARY KEY, -- 메시지 구분 코드(UUID)
|
||||||
|
cid CHAR(16) NOT NULL, -- 채팅방 구분 코드
|
||||||
|
uid VARCHAR(70) NOT NULL, -- 사용자 구분 코드
|
||||||
|
create_date DATETIME NOT NULL, -- 메시지 작성 일자
|
||||||
|
content TEXT NOT NULL, -- 메시지 내용
|
||||||
|
is_hidden BOOLEAN NOT NULL DEFAULT FALSE, -- 가리기 여부
|
||||||
|
media_url TEXT, -- 첨부 파일 링크
|
||||||
|
read_count INT NOT NULL DEFAULT 0, -- 읽은 사람 수
|
||||||
|
blind BOOLEAN NOT NULL DEFAULT FALSE, -- 신고로 인해 블라인드 처리 여부
|
||||||
|
check_report BOOLEAN NOT NULL DEFAULT FALSE, -- 신고 검토 여부
|
||||||
|
FOREIGN KEY (cid) REFERENCES chat_room (cid) ON DELETE CASCADE ON UPDATE CASCADE,
|
||||||
|
FOREIGN KEY (uid) REFERENCES user (uid) ON DELETE CASCADE ON UPDATE CASCADE
|
||||||
|
);
|
||||||
|
|
||||||
|
CREATE INDEX idx_chat_message_cid ON chat_message(cid);
|
||||||
|
CREATE INDEX idx_chat_message_cid_create_date ON chat_message(cid, create_date);
|
||||||
|
CREATE INDEX idx_chat_message_uid_cid ON chat_message(uid, cid);
|
||||||
|
|
||||||
|
CREATE TABLE report_list
|
||||||
|
(
|
||||||
|
cid CHAR(16) NOT NULL, -- 채팅방 구분 코드
|
||||||
|
uid VARCHAR(70) NOT NULL, -- 신고자 사용자 코드
|
||||||
|
mid CHAR(36) NOT NULL, -- 신고된 메시지 ID
|
||||||
|
report TEXT, -- 신고 사유
|
||||||
|
PRIMARY KEY (cid, uid, mid),
|
||||||
|
FOREIGN KEY (cid) REFERENCES chat_room (cid) ON DELETE CASCADE ON UPDATE CASCADE,
|
||||||
|
FOREIGN KEY (uid) REFERENCES user (uid) ON DELETE CASCADE ON UPDATE CASCADE,
|
||||||
|
FOREIGN KEY (mid) REFERENCES chat_message (mid) ON DELETE CASCADE ON UPDATE CASCADE
|
||||||
|
);
|
69
scripts/Class.sql
Normal file
69
scripts/Class.sql
Normal file
|
@ -0,0 +1,69 @@
|
||||||
|
CREATE TABLE `class_info` (
|
||||||
|
`id` CHAR(10) NOT NULL COMMENT '강의 구분 코드 (AMC+4숫자+3대문자)',
|
||||||
|
`name` VARCHAR(100) NOT NULL COMMENT '강의 제목',
|
||||||
|
`uid` CHAR(70) NOT NULL COMMENT '담당 선생님 구분 코드',
|
||||||
|
`start_date` DATETIME NOT NULL COMMENT '강의 시작일',
|
||||||
|
`end_date` DATETIME DEFAULT NULL COMMENT '강의 종료일',
|
||||||
|
`day` TINYINT NOT NULL COMMENT '수업 요일 비트(월요일 부터 가장 좌측 비트)',
|
||||||
|
`start_time` CHAR(4) NOT NULL COMMENT '수업 시작 시간',
|
||||||
|
`end_time` CHAR(4) NOT NULL COMMENT '수업 종료 시간',
|
||||||
|
PRIMARY KEY (`id`),
|
||||||
|
CONSTRAINT `fk_class_teacher_uid`
|
||||||
|
FOREIGN KEY (`uid`) REFERENCES `user`(`uid`)
|
||||||
|
ON UPDATE CASCADE
|
||||||
|
ON DELETE RESTRICT
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='강의(클래스) 정보';
|
||||||
|
|
||||||
|
|
||||||
|
CREATE TABLE `class_map` (
|
||||||
|
`cid` CHAR(10) NOT NULL COMMENT '강의 구분 코드',
|
||||||
|
`uid` CHAR(70) NOT NULL COMMENT '학생(유저) 구분 코드',
|
||||||
|
PRIMARY KEY (`cid`, `uid`),
|
||||||
|
KEY `idx_uid` (`uid`),
|
||||||
|
CONSTRAINT `fk_map_class_cid`
|
||||||
|
FOREIGN KEY (`cid`) REFERENCES class_info(`id`)
|
||||||
|
ON UPDATE CASCADE
|
||||||
|
ON DELETE CASCADE,
|
||||||
|
CONSTRAINT `fk_map_class_uid`
|
||||||
|
FOREIGN KEY (`uid`) REFERENCES `user`(`uid`)
|
||||||
|
ON UPDATE CASCADE
|
||||||
|
ON DELETE CASCADE
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='학생-강의(클래스) 맵핑';
|
||||||
|
|
||||||
|
CREATE TABLE `class_attendance` (
|
||||||
|
`cid` CHAR(10) NOT NULL COMMENT '강의 구분 코드',
|
||||||
|
`uid` CHAR(70) NOT NULL COMMENT '학생(유저) 구분 코드',
|
||||||
|
`attendace_date` DATETIME NOT NULL COMMENT '출석 일자',
|
||||||
|
`attendance_state` TINYINT(1) NOT NULL COMMENT '출석 상태 (0=출석, 1=결석, 2=지각, 3=조퇴, 4=기타)',
|
||||||
|
PRIMARY KEY (`cid`, `uid`, `attendace_date`),
|
||||||
|
KEY `idx_uid_date` (`uid`, `attendace_date`),
|
||||||
|
CONSTRAINT `fk_class_attendance_cid`
|
||||||
|
FOREIGN KEY (`cid`) REFERENCES class_info(`id`)
|
||||||
|
ON UPDATE CASCADE
|
||||||
|
ON DELETE CASCADE,
|
||||||
|
CONSTRAINT `fk_class_attendance_uid`
|
||||||
|
FOREIGN KEY (`uid`) REFERENCES `user`(`uid`)
|
||||||
|
ON UPDATE CASCADE
|
||||||
|
ON DELETE CASCADE
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='강의별 학생 출석 정보';
|
||||||
|
|
||||||
|
|
||||||
|
INSERT INTO class_info(id, name, uid, start_date, end_date, day, start_time, end_time)
|
||||||
|
VALUES
|
||||||
|
('AMC0000AAA','수학','AMksg345220250401','2025-06-20',NULL,124,'1800','1900'),
|
||||||
|
('AMC0000AAB','영어','AMksg345220250401','2025-06-20',NULL,124,'1900','2000'),
|
||||||
|
('AMC0000AAC','국어','AMksg345220250401','2025-06-20',NULL,124,'2000','2100'),
|
||||||
|
('AMC0000AAD','과학','AMksg345220250401','2025-06-20',NULL,124,'2100','2200'),
|
||||||
|
('AMC0000AAE','사회','AMksg345220250401','2025-06-20',NULL,124,'2200','2300');
|
||||||
|
|
||||||
|
INSERT INTO class_map(cid, uid)
|
||||||
|
VALUES
|
||||||
|
('AMC0000AAA', 'AMsdk20250612'),
|
||||||
|
('AMC0000AAB', 'AMsdk20250612'),
|
||||||
|
('AMC0000AAC', 'AMsdk20250612'),
|
||||||
|
('AMC0000AAD', 'AMsdk20250612');
|
||||||
|
|
||||||
|
|
||||||
|
# INSERT INTO class_attendance(cid, uid, attendace_date, attendance_state)
|
||||||
|
# VALUES
|
||||||
|
# ('AMC0000AAA', 'AMsdk20250612')
|
117
scripts/Push.sql
Normal file
117
scripts/Push.sql
Normal file
|
@ -0,0 +1,117 @@
|
||||||
|
CREATE TABLE payload (
|
||||||
|
pid CHAR(22) NOT NULL PRIMARY KEY ,
|
||||||
|
title VARCHAR(100) NOT NULL ,
|
||||||
|
subtitle VARCHAR(100) ,
|
||||||
|
body VARCHAR(255) NOT NULL ,
|
||||||
|
alert_yn BOOLEAN NOT NULL DEFAULT TRUE,
|
||||||
|
category CHAR(4) NOT NULL ,
|
||||||
|
content TEXT
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
CREATE TABLE push_cabinet (
|
||||||
|
uid CHAR(6) NOT NULL ,
|
||||||
|
pid CHAR(22) NOT NULL ,
|
||||||
|
send_date DATETIME NOT NULL ,
|
||||||
|
check_yn BOOLEAN NOT NULL DEFAULT FALSE,
|
||||||
|
PRIMARY KEY (uid, pid),
|
||||||
|
CONSTRAINT fk_pushcabinet_uid_to_user FOREIGN KEY (uid)
|
||||||
|
REFERENCES user(uid)
|
||||||
|
ON UPDATE CASCADE
|
||||||
|
ON DELETE CASCADE,
|
||||||
|
CONSTRAINT fk_pushcabinet_pid_to_payload FOREIGN KEY (pid)
|
||||||
|
REFERENCES payload(pid)
|
||||||
|
ON UPDATE CASCADE
|
||||||
|
ON DELETE CASCADE
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
INSERT INTO payload(pid, title, subtitle, body, category, content)
|
||||||
|
VALUES (
|
||||||
|
'AP202503054Q81114002W7',
|
||||||
|
'PUSH 확인 TEST',
|
||||||
|
'PUSH 확인 TEST - SUB',
|
||||||
|
'PUSH를 테스트하기 위해서 작성된 내용입니다. TEST 메시지입나다.',
|
||||||
|
'PC00',
|
||||||
|
NULL
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
INSERT INTO payload(pid, title, subtitle, body, category, content)
|
||||||
|
VALUES (
|
||||||
|
'AP202503051S41516009J9',
|
||||||
|
'PUSH 확인 TEST2',
|
||||||
|
NULL,
|
||||||
|
'PUSH를 테스트하기 위해서 작성된 두번째 내용입니다. 두번째 TEST 메시지입나다.',
|
||||||
|
'PC00',
|
||||||
|
NULL
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
ALTER TABLE push_cabinet DROP FOREIGN KEY fk_pushcabinet_uid_to_user;
|
||||||
|
|
||||||
|
ALTER TABLE push_cabinet
|
||||||
|
ADD CONSTRAINT fk_pushcabinet_uid_to_user
|
||||||
|
FOREIGN KEY (uid) REFERENCES user(uid)
|
||||||
|
ON UPDATE CASCADE ON DELETE CASCADE;
|
||||||
|
|
||||||
|
|
||||||
|
CREATE TABLE log_push (
|
||||||
|
bid CHAR(6) NOT NULL ,
|
||||||
|
pid CHAR(22) NOT NULL ,
|
||||||
|
create_date DATETIME NOT NULL ,
|
||||||
|
modify_date DATETIME NOT NULL ,
|
||||||
|
create_uid VARCHAR(70) NOT NULL ,
|
||||||
|
modify_uid VARCHAR(70) NOT NULL ,
|
||||||
|
PRIMARY KEY (bid, pid),
|
||||||
|
CONSTRAINT fk_logpush_to_payload FOREIGN KEY (bid, pid)
|
||||||
|
REFERENCES payload(bid, pid)
|
||||||
|
ON UPDATE CASCADE
|
||||||
|
ON DELETE CASCADE
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
SELECT cabinet.uid, cabinet.pid, cabinet.send_date, payload.title
|
||||||
|
FROM
|
||||||
|
(select push_cabinet.pid, push_cabinet.uid, push_cabinet.send_date FROM push_cabinet where uid = 'AMsean.kim20241201') As cabinet
|
||||||
|
inner JOIN
|
||||||
|
(select payload.title, payload.pid FROM payload) as payload
|
||||||
|
on cabinet.pid = payload.pid
|
||||||
|
order by send_date
|
||||||
|
;
|
||||||
|
|
||||||
|
|
||||||
|
CREATE TABLE push_cabinet
|
||||||
|
(
|
||||||
|
id INT AUTO_INCREMENT PRIMARY KEY, -- 대리 키로 추가
|
||||||
|
uid VARCHAR(70) NOT NULL,
|
||||||
|
bid CHAR(6) DEFAULT 'AA0000' NOT NULL,
|
||||||
|
pid CHAR(22) NOT NULL,
|
||||||
|
send_date DATETIME NOT NULL,
|
||||||
|
check_yn TINYINT(1) DEFAULT 0 NOT NULL,
|
||||||
|
content TEXT, -- 커스텀 이벤트 내용 저장 (필요 시 TEXT나 VARCHAR로 조정)
|
||||||
|
|
||||||
|
CONSTRAINT fk_pushcabinet_bid_to_academy
|
||||||
|
FOREIGN KEY (bid) REFERENCES academy (bid)
|
||||||
|
ON UPDATE CASCADE ON DELETE CASCADE,
|
||||||
|
CONSTRAINT fk_pushcabinet_payload
|
||||||
|
FOREIGN KEY (bid, pid) REFERENCES payload (bid, pid)
|
||||||
|
ON UPDATE CASCADE ON DELETE CASCADE
|
||||||
|
);
|
||||||
|
|
||||||
|
-- 조회 성능 향상을 위해 pid 컬럼에 대한 인덱스 추가 (필요 시 uid, send_date 등의 인덱스도 고려)
|
||||||
|
CREATE INDEX idx_pushcabinet_pid ON push_cabinet (pid);
|
||||||
|
|
||||||
|
ALTER TABLE push_cabinet
|
||||||
|
ADD CONSTRAINT fk_pushcabinet_bid_to_academy
|
||||||
|
FOREIGN KEY (bid) REFERENCES academy (bid)
|
||||||
|
ON UPDATE CASCADE ON DELETE CASCADE;
|
||||||
|
ALTER TABLE push_cabinet
|
||||||
|
ADD CONSTRAINT fk_pushcabinet_payload
|
||||||
|
FOREIGN KEY (bid, pid) REFERENCES payload (bid, pid)
|
||||||
|
ON UPDATE CASCADE ON DELETE CASCADE;
|
10
scripts/Token.sql
Normal file
10
scripts/Token.sql
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
CREATE TABLE token (
|
||||||
|
uid varchar(70) not null primary key ,
|
||||||
|
|
||||||
|
refresh_token text not null ,
|
||||||
|
create_date datetime not null ,
|
||||||
|
expire_date datetime not null ,
|
||||||
|
revoke_date datetime,
|
||||||
|
constraint fk_token_uid_to_user foreign key (uid) references user (uid) on update cascade on delete cascade
|
||||||
|
);
|
||||||
|
|
18
scripts/User.sql
Normal file
18
scripts/User.sql
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
CREATE TABLE api_header (
|
||||||
|
specific_id VARCHAR(255) PRIMARY KEY NOT NULL ,
|
||||||
|
connect_date DATETIME NOT NULL ,
|
||||||
|
h_key CHAR(18) NOT NULL,
|
||||||
|
h_value TEXT NOT NULL
|
||||||
|
);
|
||||||
|
|
||||||
|
# INSERT INTO api_header(specific_id, connect_date, h_key, h_value)
|
||||||
|
# VALUES (2025-03-19,'iOS_AM_Connect_Key','');
|
||||||
|
|
||||||
|
# INSERT INTO api_header(h_key, h_value)
|
||||||
|
# VALUES ('And_AM_Connect_Key','');
|
||||||
|
#
|
||||||
|
# INSERT INTO api_header(h_key, h_value)
|
||||||
|
# VALUES ('Web_AM_Connect_Key','');
|
||||||
|
|
||||||
|
|
||||||
|
SHOW TABLE STATUS WHERE Name = 'permission';
|
38
scripts/log.sql
Normal file
38
scripts/log.sql
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
create table log_push
|
||||||
|
(
|
||||||
|
bid char(6) not null,
|
||||||
|
pid char(22) not null,
|
||||||
|
create_date datetime not null,
|
||||||
|
create_uid varchar(70) not null,
|
||||||
|
log text null,
|
||||||
|
lid int auto_increment
|
||||||
|
primary key
|
||||||
|
);
|
||||||
|
|
||||||
|
create table log_user
|
||||||
|
(
|
||||||
|
bid char(6) not null,
|
||||||
|
pid char(22) not null,
|
||||||
|
create_date datetime not null,
|
||||||
|
create_uid varchar(70) not null,
|
||||||
|
log text null,
|
||||||
|
lid int auto_increment
|
||||||
|
primary key
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
create table log_project
|
||||||
|
(
|
||||||
|
lid int auto_increment primary key,
|
||||||
|
create_date datetime not null default NOW(),
|
||||||
|
log text null
|
||||||
|
);
|
||||||
|
|
||||||
|
create table log_chat
|
||||||
|
(
|
||||||
|
lid int auto_increment primary key,
|
||||||
|
create_date datetime not null,
|
||||||
|
create_uid varchar(70) not null,
|
||||||
|
cid CHAR(16) NOT NULL,
|
||||||
|
log text null
|
||||||
|
);
|
Loading…
Reference in New Issue
Block a user