BEGIN; CREATE TABLE articles ( id UUID PRIMARY KEY DEFAULT gen_random_uuid(), title VARCHAR(255) NOT NULL, slug VARCHAR(255) UNIQUE NOT NULL, author VARCHAR(100) NOT NULL, status VARCHAR(50) NOT NULL, date TIMESTAMP NOT NULL, content TEXT ); CREATE TABLE categories ( id SERIAL PRIMARY KEY, name VARCHAR(100) UNIQUE NOT NULL ); CREATE TABLE tags ( id SERIAL PRIMARY KEY, name VARCHAR(100) UNIQUE NOT NULL ); CREATE TABLE article_categories ( article_id UUID REFERENCES articles(id) ON DELETE CASCADE, category_id INTEGER REFERENCES categories(id) ON DELETE CASCADE, PRIMARY KEY (article_id, category_id) ); CREATE TABLE article_tags ( article_id UUID REFERENCES articles(id) ON DELETE CASCADE, tag_id INTEGER REFERENCES tags(id) ON DELETE CASCADE, PRIMARY KEY (article_id, tag_id) ); COMMIT;