11-- Add Tables
22CREATE TABLE IF NOT EXISTS users
33(
4- user_id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
5- uuid UUID NOT NULL ,
6- email VARCHAR (255 ) UNIQUE NOT NULL ,
7- name VARCHAR (255 ) UNIQUE NOT NULL ,
8- password VARCHAR (255 ) NOT NULL ,
4+ user_id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
5+ uuid BINARY( 16 ) NOT NULL ,
6+ email VARCHAR (255 ) UNIQUE NOT NULL ,
7+ name VARCHAR (255 ) UNIQUE NOT NULL ,
8+ password VARCHAR (255 ) NOT NULL ,
99 bio VARCHAR (255 ),
1010 image VARCHAR (255 ),
11- created_at TIMESTAMP (6 ) DEFAULT CURRENT_TIMESTAMP NOT NULL ,
12- updated_at TIMESTAMP (6 ) NOT NULL
11+ created_at TIMESTAMP (6 ) DEFAULT CURRENT_TIMESTAMP ( 6 ) NOT NULL ,
12+ updated_at TIMESTAMP (6 ) NOT NULL
1313);
1414
1515CREATE TABLE IF NOT EXISTS article
1616(
17- article_id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
18- uuid UUID NOT NULL ,
19- slug VARCHAR (255 ) UNIQUE NOT NULL ,
20- title VARCHAR (255 ) NOT NULL ,
21- description VARCHAR (255 ) NOT NULL ,
22- body VARCHAR (255 ) NOT NULL ,
23- author_id INT NOT NULL ,
24- created_at TIMESTAMP (6 ) DEFAULT CURRENT_TIMESTAMP NOT NULL ,
25- updated_at TIMESTAMP (6 ) NOT NULL ,
17+ article_id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
18+ uuid BINARY( 16 ) NOT NULL ,
19+ slug VARCHAR (255 ) UNIQUE NOT NULL ,
20+ title VARCHAR (255 ) NOT NULL ,
21+ description VARCHAR (255 ) NOT NULL ,
22+ body VARCHAR (255 ) NOT NULL ,
23+ author_id INT NOT NULL ,
24+ created_at TIMESTAMP (6 ) DEFAULT CURRENT_TIMESTAMP ( 6 ) NOT NULL ,
25+ updated_at TIMESTAMP (6 ) NOT NULL ,
2626 deleted_at TIMESTAMP (6 ),
2727 CONSTRAINT fk_article_author FOREIGN KEY (author_id) REFERENCES users (user_id)
2828);
2929
3030CREATE TABLE IF NOT EXISTS article_favorite
3131(
32- favorite_id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
33- article_id INT NOT NULL ,
34- user_id INT NOT NULL ,
35- created_at TIMESTAMP (6 ) DEFAULT CURRENT_TIMESTAMP NOT NULL ,
36- updated_at TIMESTAMP (6 ) NOT NULL ,
32+ favorite_id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
33+ article_id INT NOT NULL ,
34+ user_id INT NOT NULL ,
35+ created_at TIMESTAMP (6 ) DEFAULT CURRENT_TIMESTAMP ( 6 ) NOT NULL ,
36+ updated_at TIMESTAMP (6 ) NOT NULL ,
3737 CONSTRAINT fk_favorite_article FOREIGN KEY (article_id) REFERENCES article (article_id),
3838 CONSTRAINT fk_favorite_user FOREIGN KEY (user_id) REFERENCES users (user_id),
3939 CONSTRAINT unique_article_favorite UNIQUE (article_id, user_id)
4040);
4141
4242CREATE TABLE IF NOT EXISTS comment
4343(
44- comment_id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
45- article_id INT NOT NULL ,
46- body VARCHAR (255 ) NOT NULL ,
47- author_id INT NOT NULL ,
48- created_at TIMESTAMP (6 ) DEFAULT CURRENT_TIMESTAMP NOT NULL ,
49- updated_at TIMESTAMP (6 ) NOT NULL ,
44+ comment_id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
45+ article_id INT NOT NULL ,
46+ body VARCHAR (255 ) NOT NULL ,
47+ author_id INT NOT NULL ,
48+ created_at TIMESTAMP (6 ) DEFAULT CURRENT_TIMESTAMP ( 6 ) NOT NULL ,
49+ updated_at TIMESTAMP (6 ) NOT NULL ,
5050 CONSTRAINT fk_comment_article FOREIGN KEY (article_id) REFERENCES article (article_id),
5151 CONSTRAINT fk_comment_author FOREIGN KEY (author_id) REFERENCES users (user_id)
5252);
5353
5454CREATE TABLE IF NOT EXISTS tag
5555(
56- tag_id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
57- name VARCHAR (255 ) UNIQUE NOT NULL ,
58- created_at TIMESTAMP (6 ) DEFAULT CURRENT_TIMESTAMP NOT NULL ,
59- updated_at TIMESTAMP (6 ) NOT NULL
56+ tag_id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
57+ name VARCHAR (255 ) UNIQUE NOT NULL ,
58+ created_at TIMESTAMP (6 ) DEFAULT CURRENT_TIMESTAMP ( 6 ) NOT NULL ,
59+ updated_at TIMESTAMP (6 ) NOT NULL
6060);
6161
6262CREATE TABLE IF NOT EXISTS article_tag
6363(
64- article_tag_id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
65- article_id INT NOT NULL ,
66- tag_id INT NOT NULL ,
67- created_at TIMESTAMP (6 ) DEFAULT CURRENT_TIMESTAMP NOT NULL ,
64+ article_tag_id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
65+ article_id INT NOT NULL ,
66+ tag_id INT NOT NULL ,
67+ created_at TIMESTAMP (6 ) DEFAULT CURRENT_TIMESTAMP ( 6 ) NOT NULL ,
6868 updated_at TIMESTAMP (6 ),
6969 CONSTRAINT fk_article_tag_article FOREIGN KEY (article_id) REFERENCES article (article_id),
7070 CONSTRAINT fk_article_tag_tag FOREIGN KEY (tag_id) REFERENCES tag (tag_id),
@@ -73,11 +73,11 @@ CREATE TABLE IF NOT EXISTS article_tag
7373
7474CREATE TABLE IF NOT EXISTS user_follow
7575(
76- follow_id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
77- followee_id INT NOT NULL ,
78- follower_id INT NOT NULL ,
79- created_at TIMESTAMP (6 ) DEFAULT CURRENT_TIMESTAMP NOT NULL ,
80- updated_at TIMESTAMP (6 ) NOT NULL ,
76+ follow_id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
77+ followee_id INT NOT NULL ,
78+ follower_id INT NOT NULL ,
79+ created_at TIMESTAMP (6 ) DEFAULT CURRENT_TIMESTAMP ( 6 ) NOT NULL ,
80+ updated_at TIMESTAMP (6 ) NOT NULL ,
8181 UNIQUE (follower_id, followee_id),
8282 CONSTRAINT fk_user_follow_followee FOREIGN KEY (followee_id) REFERENCES users (user_id),
8383 CONSTRAINT fk_user_follow_follower FOREIGN KEY (follower_id) REFERENCES users (user_id)
0 commit comments