cpolis/create_db.sql

58 lines
1.7 KiB
MySQL
Raw Normal View History

2024-04-02 19:38:16 +02:00
DROP TABLE IF EXISTS articles_tags;
DROP TABLE IF EXISTS tags;
DROP TABLE IF EXISTS articles;
DROP TABLE IF EXISTS issues;
DROP TABLE IF EXISTS users;
CREATE TABLE users (
id INT AUTO_INCREMENT,
username VARCHAR(15) NOT NULL UNIQUE,
password VARCHAR(60) NOT NULL,
first_name VARCHAR(50) NOT NULL,
last_name VARCHAR(50) NOT NULL,
role INT NOT NULL,
PRIMARY KEY (id)
2024-04-02 19:38:16 +02:00
);
CREATE TABLE issues (
id INT AUTO_INCREMENT,
published BOOL NOT NULL,
PRIMARY KEY (id)
2024-04-02 19:38:16 +02:00
);
CREATE TABLE articles (
id INT AUTO_INCREMENT,
title VARCHAR(255) NOT NULL,
created TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
2024-10-27 07:21:36 +01:00
banner_link VARCHAR(255),
2024-10-27 07:20:23 +01:00
summary TEXT NOT NULL,
content_link VARCHAR(255),
enc_url VARCHAR(255),
enc_length INT,
enc_type VARCHAR(255),
published BOOL NOT NULL,
rejected BOOL NOT NULL,
author_id INT NOT NULL,
issue_id INT NOT NULL,
2024-09-28 12:17:03 +02:00
edited_id INT,
is_in_issue BOOL NOT NULL,
auto_generated BOOL NOT NULL,
PRIMARY KEY (id),
FOREIGN KEY (author_id) REFERENCES users (id),
FOREIGN KEY (issue_id) REFERENCES issues (id)
2024-04-02 19:38:16 +02:00
);
CREATE TABLE tags (
id INT AUTO_INCREMENT,
2024-04-03 19:47:27 +02:00
name VARCHAR(50) NOT NULL UNIQUE,
PRIMARY KEY (id)
2024-04-02 19:38:16 +02:00
);
CREATE TABLE articles_tags (
article_id INT,
tag_id INT,
PRIMARY KEY (article_id, tag_id),
FOREIGN KEY (article_id) REFERENCES articles (id),
FOREIGN KEY (tag_id) REFERENCES tags (id)
2024-04-02 19:38:16 +02:00
);