Skip to content

Commit c11e568

Browse files
committed
Add content fields and versions table
1 parent 5abb793 commit c11e568

2 files changed

Lines changed: 30 additions & 2 deletions

File tree

src/main/resources/database/install/NEW_10010__new_cms.sql

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,7 @@ CREATE INDEX web_pages_draft_idx ON web_pages(draft);
129129
CREATE INDEX web_pages_enabled_idx ON web_pages(enabled);
130130
CREATE INDEX web_pages_sitemap_idx ON web_pages(show_in_sitemap);
131131
CREATE INDEX web_pages_redirect_idx ON web_pages(has_redirect);
132-
CREATE INDEX web_pages_tags_idx ON web_pages USING GIN (tags);
132+
CREATE INDEX web_pages_tags_idx ON web_pages USING gin(tags);
133133

134134
CREATE TABLE web_page_hierarchy (
135135
page_hierarchy_id BIGSERIAL PRIMARY KEY,
@@ -155,10 +155,12 @@ CREATE TABLE content (
155155
modified TIMESTAMP(3) DEFAULT CURRENT_TIMESTAMP,
156156
draft_content TEXT,
157157
content_text TEXT,
158-
tsv TSVECTOR
158+
tsv TSVECTOR,
159+
tags JSONB
159160
);
160161
CREATE INDEX content_uni_idx ON content(content_unique_id);
161162
CREATE INDEX content_tsv_idx ON content USING gin(tsv);
163+
CREATE INDEX content_tags_idx ON content USING gin(tags);
162164

163165
CREATE TEXT SEARCH DICTIONARY content_stem (
164166
TEMPLATE = snowball,
@@ -184,6 +186,17 @@ ON content FOR EACH ROW EXECUTE PROCEDURE content_tsv_trigger();
184186
-- INSERT INTO content (content_unique_id, content) VALUES ('login-hello', 'Hello from the Login Page''s Content Widget database!');
185187
-- INSERT INTO content (content_unique_id, content) VALUES ('register-hello', 'Hello from the Register Page''s Content Widget database!');
186188

189+
CREATE TABLE content_versions (
190+
version_id BIGSERIAL PRIMARY KEY,
191+
content_id BIGINT REFERENCES content(content_id) NOT NULL,
192+
content TEXT,
193+
created_by BIGINT REFERENCES users(user_id) NOT NULL,
194+
created TIMESTAMP(3) DEFAULT CURRENT_TIMESTAMP,
195+
notes TEXT
196+
);
197+
CREATE INDEX content_ver_cont_idx ON content_versions(content_id);
198+
CREATE INDEX content_ver_creat_idx ON content_versions(created);
199+
187200
CREATE TABLE images (
188201
image_id BIGSERIAL PRIMARY KEY,
189202
filename VARCHAR(255) NOT NULL,
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
-- Copyright 2026 Matt Rajkowski, Licensed under the Apache License, Version 2.0
2+
3+
ALTER TABLE content ADD COLUMN IF NOT EXISTS tags JSONB;
4+
CREATE INDEX IF NOT EXISTS content_tags_idx ON content USING gin(tags);
5+
6+
CREATE TABLE content_versions (
7+
version_id BIGSERIAL PRIMARY KEY,
8+
content_id BIGINT REFERENCES content(content_id) NOT NULL,
9+
content TEXT,
10+
created_by BIGINT REFERENCES users(user_id) NOT NULL,
11+
created TIMESTAMP(3) DEFAULT CURRENT_TIMESTAMP,
12+
notes TEXT
13+
);
14+
CREATE INDEX content_ver_cont_idx ON content_versions(content_id);
15+
CREATE INDEX content_ver_creat_idx ON content_versions(created);

0 commit comments

Comments
 (0)