P5-5305 add articles

This commit is contained in:
Martin Carlsson
2020-06-02 14:25:30 +02:00
committed by GitHub
parent aa1097b81e
commit 3ad9daba81
+74
View File
@@ -0,0 +1,74 @@
-- P5-5305: add articles
CREATE TABLE articles (
id serial PRIMARY KEY NOT NULL,
created TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT now(),
published TIMESTAMP WITH TIME ZONE,
deleted TIMESTAMP WITH TIME ZONE,
name TEXT
);
CREATE TABLE article_content (
id serial NOT NULL,
article_id INTEGER NOT NULL,
market_id INTEGER NOT NULL,
title TEXT,
preamble TEXT,
body TEXT,
body_saved TIMESTAMP WITH TIME ZONE,
meta_title TEXT,
meta_description TEXT,
slug TEXT
);
ALTER TABLE article_content
ADD CONSTRAINT article_id
FOREIGN KEY (article_id)
REFERENCES articles(id) MATCH SIMPLE;
ALTER TABLE article_content
ADD CONSTRAINT market_id
FOREIGN KEY (market_id)
REFERENCES markets(id) MATCH SIMPLE;
CREATE TABLE article_categories (
id serial NOT NULL,
name TEXT
);
INSERT INTO article_categories (name) VALUES
('News'),
('Pressroom'),
('Interiors'),
('Trends and inspiration'),
('Furniture'),
('Home improvement'),
('Home decor'),
('Lighting'),
('Wall art'),
('Style guides');
CREATE TABLE article_article_categories (
article_id INTEGER NOT NULL,
category_id INTEGER NOT NULL,
main INTEGER DEFAULT 0,
PRIMARY KEY (article_id, category_id)
);
ALTER TABLE article_article_categories
ADD CONSTRAINT article_id
FOREIGN KEY (article_id)
REFERENCES articles(id) MATCH SIMPLE;
ALTER TABLE article_article_categories
ADD CONSTRAINT category_id
FOREIGN KEY (category_id)
REFERENCES article_categories(id) MATCH SIMPLE;