CREATE TABLE issues (
	page       text        NOT NULL DEFAULT 'issue',
	link       text,
	subject    text,
	body       text,
	created    timestamptz          DEFAULT now(),
	closed     timestamptz,
	updated    timestamptz NOT NULL DEFAULT now(),
	author     text,
	assign     text,
	id         serial      NOT NULL PRIMARY KEY
);

CREATE TABLE comments (
	page       text,
	raw        text,
	message    text,
	created    timestamptz DEFAULT now(),
	author     text,
	id         serial      NOT NULL PRIMARY KEY
);

CREATE TABLE journal (
	comment_id integer     NOT NULL REFERENCES comments (id),
	property   text        NOT NULL DEFAULT 'attr',
	col        text        NOT NULL,
	old_value  text,
	value      text,
	id         serial      NOT NULL PRIMARY KEY
);

CREATE OR REPLACE VIEW messages AS (
	SELECT *, regexp_replace(page, '.*/', '')::int issue FROM comments
		UNION ALL
	SELECT concat(page,'/',id), body, created, author, NULL, id FROM issues
);
