Skip to content

Commit 2fb34a4

Browse files
chore: create new system_tag_set table for Cyndi migration
RHINENG-23538
1 parent fb0ffd9 commit 2fb34a4

File tree

3 files changed

+75
-2
lines changed

3 files changed

+75
-2
lines changed

common/peewee_model.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,18 @@ class Meta:
148148
table_name = "system_group_set"
149149

150150

151+
class SystemTagSet(BaseModel):
152+
"""system_tag_set table"""
153+
154+
tags = BinaryJSONField(null=False)
155+
tags_checksum = TextField(null=False, unique=True)
156+
157+
class Meta:
158+
"""system_tag_set table metadata"""
159+
160+
table_name = "system_tag_set"
161+
162+
151163
class SystemPlatform(BaseModelRW):
152164
"""system_platform table"""
153165

@@ -176,6 +188,7 @@ class SystemPlatform(BaseModelRW):
176188
host_type = TextField(null=True)
177189
operating_system_id = ForeignKeyField(column_name="operating_system_id", model=OperatingSystem, field="id")
178190
group_set_id = ForeignKeyField(column_name="group_set_id", model=SystemGroupSet, field="id")
191+
tag_set_id = ForeignKeyField(column_name="tag_set_id", model=SystemTagSet, field="id")
179192

180193
class Meta:
181194
"""system_platform table metadata"""
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
CREATE TABLE IF NOT EXISTS system_tag_set (
2+
id BIGSERIAL,
3+
tags JSONB NOT NULL,
4+
tags_checksum TEXT NOT NULL,
5+
PRIMARY KEY (id),
6+
UNIQUE (tags_checksum)
7+
) TABLESPACE pg_default;
8+
9+
CREATE INDEX ON system_tag_set USING gin (tags jsonb_path_ops);
10+
11+
GRANT SELECT, INSERT, UPDATE ON system_tag_set TO ve_db_user_listener;
12+
13+
ALTER TABLE system_platform ADD COLUMN tag_set_id BIGINT;
14+
ALTER TABLE system_platform ADD CONSTRAINT tag_set_id FOREIGN KEY (tag_set_id) REFERENCES system_tag_set (id);
15+
CREATE INDEX ON system_platform(tag_set_id);
16+
17+
-- user for evaluator component
18+
GRANT SELECT ON ALL TABLES IN SCHEMA public TO ve_db_user_evaluator;
19+
GRANT USAGE, SELECT ON ALL SEQUENCES IN SCHEMA public TO ve_db_user_evaluator;
20+
21+
-- user for listener component
22+
GRANT SELECT ON ALL TABLES IN SCHEMA public TO ve_db_user_listener;
23+
GRANT USAGE, SELECT ON ALL SEQUENCES IN SCHEMA public TO ve_db_user_listener;
24+
25+
-- user for UI manager component
26+
GRANT SELECT ON ALL TABLES IN SCHEMA public TO ve_db_user_manager;
27+
GRANT USAGE, SELECT ON ALL SEQUENCES IN SCHEMA public TO ve_db_user_manager;
28+
GRANT INSERT, DELETE ON announcement TO ve_db_user_manager;
29+
30+
-- user for VMaaS sync component
31+
GRANT SELECT ON ALL TABLES IN SCHEMA public TO ve_db_user_vmaas_sync;
32+
GRANT USAGE, SELECT ON ALL SEQUENCES IN SCHEMA public TO ve_db_user_vmaas_sync;
33+
34+
-- user for taskomatic service
35+
GRANT SELECT ON ALL TABLES IN SCHEMA public TO ve_db_user_taskomatic;
36+
GRANT USAGE, SELECT ON ALL SEQUENCES IN SCHEMA public TO ve_db_user_taskomatic;
37+
38+
-- user for advisor listener
39+
GRANT SELECT ON ALL TABLES IN SCHEMA public TO ve_db_user_advisor_listener;
40+
GRANT USAGE, SELECT ON ALL SEQUENCES IN SCHEMA public TO ve_db_user_advisor_listener;
41+
42+
-- user for notificator
43+
GRANT SELECT ON ALL TABLES IN SCHEMA public TO ve_db_user_notificator;
44+
GRANT USAGE, SELECT ON ALL SEQUENCES IN SCHEMA public TO ve_db_user_notificator;

database/schema/ve_db_postgresql.sql

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ CREATE TABLE IF NOT EXISTS db_version (
1717
) TABLESPACE pg_default;
1818

1919
-- set the schema version directly in the insert statement here!!
20-
INSERT INTO db_version (name, version) VALUES ('schema_version', 157);
20+
INSERT INTO db_version (name, version) VALUES ('schema_version', 158);
2121
-- INSERT INTO db_version (name, version) VALUES ('schema_version', :schema_version);
2222

2323

@@ -191,6 +191,16 @@ CREATE TABLE IF NOT EXISTS system_group_set (
191191

192192
CREATE INDEX ON system_group_set USING gin (groups jsonb_path_ops);
193193

194+
CREATE TABLE IF NOT EXISTS system_tag_set (
195+
id BIGSERIAL,
196+
tags JSONB NOT NULL,
197+
tags_checksum TEXT NOT NULL,
198+
PRIMARY KEY (id),
199+
UNIQUE (tags_checksum)
200+
) TABLESPACE pg_default;
201+
202+
CREATE INDEX ON system_tag_set USING gin (tags jsonb_path_ops);
203+
194204
-- system_platform
195205
CREATE TABLE IF NOT EXISTS system_platform (
196206
id BIGSERIAL,
@@ -220,6 +230,7 @@ CREATE TABLE IF NOT EXISTS system_platform (
220230
rule_results JSONB,
221231
operating_system_id INT,
222232
group_set_id BIGINT,
233+
tag_set_id BIGINT,
223234
UNIQUE (inventory_id),
224235
CONSTRAINT rh_account_id
225236
FOREIGN KEY (rh_account_id)
@@ -229,7 +240,10 @@ CREATE TABLE IF NOT EXISTS system_platform (
229240
REFERENCES operating_system (id),
230241
CONSTRAINT group_set_id
231242
FOREIGN KEY (group_set_id)
232-
REFERENCES system_group_set (id)
243+
REFERENCES system_group_set (id),
244+
CONSTRAINT tag_set_id
245+
FOREIGN KEY (tag_set_id)
246+
REFERENCES system_tag_set (id)
233247
) TABLESPACE pg_default;
234248

235249
CREATE INDEX ON system_platform(rh_account_id);
@@ -248,6 +262,8 @@ CREATE INDEX ON system_platform(operating_system_id);
248262

249263
CREATE INDEX ON system_platform(group_set_id);
250264

265+
CREATE INDEX ON system_platform(tag_set_id);
266+
251267
CREATE TRIGGER system_platform_set_first_reported
252268
BEFORE INSERT ON system_platform
253269
FOR EACH ROW EXECUTE PROCEDURE set_first_reported();

0 commit comments

Comments
 (0)