Comments (3)
ERD
from harmony-serverless-backend.
AQueryTool을 사용한 데이터베이스 작성
from harmony-serverless-backend.
제약조건 수정후 최종 SQL
use harmony;
-- Jobs Table
CREATE TABLE Jobs
(
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '태그 기본키',
`jobName` VARCHAR(15) NOT NULL COMMENT '직업 이름',
PRIMARY KEY (id)
);
-- Jobs Table COMMENT
ALTER TABLE Jobs COMMENT '직업 태그 리스트';
-- Accounts Table
CREATE TABLE Accounts
(
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '기본키',
`blogLink` VARCHAR(100) NULL COMMENT '블로그 링크',
`jobTag` INT UNSIGNED NOT NULL COMMENT '직업 태그',
PRIMARY KEY (id)
);
-- Accounts Table COMMENT
ALTER TABLE Accounts COMMENT '사용자 정보';
-- Accounts Table rule
-- 참조하는 테이블에 데이터가 남아 있으면, 참조되는 테이블의 데이터를 삭제할 수 없습니다.
-- 참조되는 테이블에서 데이터를 수정하면, 참조하는 테이블에서도 수정이 같이 이루어집니다.
ALTER TABLE Accounts
ADD CONSTRAINT FK_Accounts_jobTag_is_Jobs_id FOREIGN KEY (jobTag)
REFERENCES Jobs (id) ON DELETE RESTRICT ON UPDATE CASCADE;
-- StateTags Table
CREATE TABLE StateTags
(
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '기본키',
`content` VARCHAR(15) NOT NULL COMMENT '상태명',
PRIMARY KEY (id)
);
-- StateTags Table COMMENT
ALTER TABLE StateTags COMMENT '프로젝트 상태 태그';
-- Projects Table
CREATE TABLE Projects
(
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '기본키',
`managerID` INT UNSIGNED NOT NULL COMMENT '프로젝트 매니저 id',
`title` VARCHAR(45) NOT NULL COMMENT '프로젝트 이름',
`content` MEDIUMTEXT NOT NULL COMMENT '프로젝트 내용',
`date` DATE NOT NULL COMMENT '프로젝트 등록일',
`delete` VARCHAR(10) NOT NULL COMMENT '프로젝트 삭제유무',
`stateID` INT UNSIGNED NOT NULL COMMENT '프로젝트 상태',
PRIMARY KEY (id)
);
-- Projects Table COMMENT
ALTER TABLE Projects COMMENT '프로젝트';
-- Accounts Table rule
-- 참조하는 테이블에 데이터가 남아 있으면, 참조되는 테이블의 데이터를 삭제할 수 없습니다.
-- 참조되는 테이블에서 데이터를 수정하면, 참조하는 테이블에서도 수정이 같이 이루어집니다.
ALTER TABLE Projects
ADD CONSTRAINT FK_Projects_managerID_is_Accounts_id FOREIGN KEY (managerID)
REFERENCES Accounts (id) ON DELETE RESTRICT ON UPDATE CASCADE;
ALTER TABLE Projects
ADD CONSTRAINT FK_Projects_stateID_is_StateTags_id FOREIGN KEY (stateID)
REFERENCES StateTags (id) ON DELETE RESTRICT ON UPDATE CASCADE;
-- TechStacks Table
CREATE TABLE TechStacks
(
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '기본키',
`userID` INT UNSIGNED NOT NULL COMMENT '유저id',
`techName` VARCHAR(10) NOT NULL COMMENT 'techName',
PRIMARY KEY (id)
);
-- TechStacks Table COMMENT
ALTER TABLE TechStacks COMMENT '유저 기술스택';
-- ALTER TABLE TechStacks rule
-- 참조하는 테이블에 데이터가 남아 있으면, 참조되는 테이블의 데이터를 삭제할 수 없습니다.
-- 참조되는 테이블에서 데이터를 수정하면, 참조하는 테이블에서도 수정이 같이 이루어집니다.
ALTER TABLE TechStacks
ADD CONSTRAINT FK_TechStacks_userID_is_Accounts_id FOREIGN KEY (userID)
REFERENCES Accounts (id) ON DELETE RESTRICT ON UPDATE CASCADE;
-- ProjectMembers Table
CREATE TABLE ProjectMembers
(
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '기본키',
`projectID` INT UNSIGNED NOT NULL COMMENT '프로젝트 ID',
`userID` INT UNSIGNED NOT NULL COMMENT '유저 ID',
`approval` VARCHAR(10) NOT NULL DEFAULT 'false' COMMENT '유저 상태',
PRIMARY KEY (id)
);
-- ProjectMembers Table COMMENT
ALTER TABLE ProjectMembers COMMENT '프로젝트 멤버 구성';
-- ProjectMembers Table rule
-- 참조하는 테이블에 데이터가 남아 있으면, 참조되는 테이블의 데이터를 삭제할 수 없습니다.
-- 참조되는 테이블에서 데이터를 수정하면, 참조하는 테이블에서도 수정이 같이 이루어집니다.
ALTER TABLE ProjectMembers
ADD CONSTRAINT FK_ProjectMembers_userID_is_Accounts_id FOREIGN KEY (userID)
REFERENCES Accounts (id) ON DELETE RESTRICT ON UPDATE CASCADE;
ALTER TABLE ProjectMembers
ADD CONSTRAINT FK_ProjectMembers_projectID_is_Projects_id FOREIGN KEY (projectID)
REFERENCES Projects (id) ON DELETE RESTRICT ON UPDATE CASCADE;
from harmony-serverless-backend.
Related Issues (20)
- EndPoint
- sequelize 적용 및 테스트 HOT 1
- Endpoint 작성, 핸들러 연결
- kakao/account endpoint 기능 명세 작성 및 구현 HOT 1
- 응답 테스트 및 핸들러 인자 사용처 확인 HOT 2
- Kakao 정보에 대응되는 데이터베이스 수정 및 시퀄라이즈 최신화 HOT 2
- 오류 처리 모듈 작성 및 테스트
- Log 기록 모듈 작성
- kakao/authorize endpoint 기능 명세 작성 및 구현
- GET /api/v1/accounts/:accountID 구현
- PUT /api/v1/accounts/:accountID 구현
- DELETE /api/v1/accounts/:accountID 구현 HOT 1
- GET /api/v1/jobtags 구현
- Techstack EndPoint 작업
- Projects EndPoint 작업
- 1차 릴리즈 작업 HOT 1
- Project Member Endpoint 작업
- Project stateTags EndPoint 구현
- CORS error HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from harmony-serverless-backend.