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) ); CREATE TABLE issues ( id INT AUTO_INCREMENT, published BOOL NOT NULL, PRIMARY KEY(id) ); CREATE TABLE articles ( id INT AUTO_INCREMENT, title VARCHAR(255) NOT NULL, created TIMESTAMP DEFAULT CURRENT_TIMESTAMP, description TEXT NOT NULL, content TEXT NOT NULL, published BOOL NOT NULL, rejected BOOL NOT NULL, author_id INT NOT NULL, issue_id INT NOT NULL, PRIMARY KEY(id), FOREIGN KEY(author_id) REFERENCES users(id), FOREIGN KEY(issue_id) REFERENCES issues(id) ); CREATE TABLE tags ( id INT AUTO_INCREMENT, name VARCHAR(50) NOT NULL UNIQUE, PRIMARY KEY(id) ); 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) );