Merge ~cjwatson/launchpad:merge-db-stable into launchpad:master

Proposed by Colin Watson
Status: Merged
Approved by: Colin Watson
Approved revision: aa275df44758c4f33d720d73a9a7bbd273fc99df
Merge reported by: Otto Co-Pilot
Merged at revision: not available
Proposed branch: ~cjwatson/launchpad:merge-db-stable
Merge into: launchpad:master
Diff against target: 69 lines (+38/-0)
2 files modified
database/schema/patch-2210-33-2.sql (+33/-0)
database/schema/security.cfg (+5/-0)
Reviewer Review Type Date Requested Status
Colin Watson (community) Approve
Review via email: mp+409520@code.launchpad.net

Commit message

Merge db-stable aa275df447 (Add CharmBase and CharmBaseArch tables)

To post a comment you must log in.
Revision history for this message
Colin Watson (cjwatson) wrote :

Deployed to the production database today.

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1diff --git a/database/schema/patch-2210-33-2.sql b/database/schema/patch-2210-33-2.sql
2new file mode 100644
3index 0000000..4e50eac
4--- /dev/null
5+++ b/database/schema/patch-2210-33-2.sql
6@@ -0,0 +1,33 @@
7+-- Copyright 2021 Canonical Ltd. This software is licensed under the
8+-- GNU Affero General Public License version 3 (see the file LICENSE).
9+
10+SET client_min_messages=ERROR;
11+
12+CREATE TABLE CharmBase (
13+ id serial PRIMARY KEY,
14+ date_created timestamp without time zone DEFAULT (CURRENT_TIMESTAMP AT TIME ZONE 'UTC') NOT NULL,
15+ registrant integer NOT NULL REFERENCES person,
16+ distro_series integer NOT NULL REFERENCES distroseries,
17+ build_snap_channels jsonb NOT NULL
18+);
19+
20+CREATE INDEX charmbase__registrant__idx ON CharmBase (registrant);
21+CREATE UNIQUE INDEX charmbase__distro_series__key ON CharmBase (distro_series);
22+
23+COMMENT ON TABLE CharmBase IS 'A base for charms.';
24+COMMENT ON COLUMN CharmBase.date_created IS 'The date on which this base was created in Launchpad.';
25+COMMENT ON COLUMN CharmBase.registrant IS 'The user who registered this base.';
26+COMMENT ON COLUMN CharmBase.distro_series IS 'The distro series for this base.';
27+COMMENT ON COLUMN CharmBase.build_snap_channels IS 'A dictionary mapping snap names to channels to use when building charm recipes that specify this base.';
28+
29+CREATE TABLE CharmBaseArch (
30+ charm_base integer NOT NULL REFERENCES charmbase,
31+ processor integer NOT NULL REFERENCES processor,
32+ PRIMARY KEY (charm_base, processor)
33+);
34+
35+COMMENT ON TABLE CharmBaseArch IS 'The architectures that a charm base supports.';
36+COMMENT ON COLUMN CharmBaseArch.charm_base IS 'The charm base for which a supported architecture is specified.';
37+COMMENT ON COLUMN CharmBaseArch.processor IS 'A supported architecture for this charm base.';
38+
39+INSERT INTO LaunchpadDatabaseRevision VALUES (2210, 33, 2);
40diff --git a/database/schema/security.cfg b/database/schema/security.cfg
41index 8779ef9..f664a4a 100644
42--- a/database/schema/security.cfg
43+++ b/database/schema/security.cfg
44@@ -154,6 +154,8 @@ public.bugtrackercomponentgroup = SELECT, INSERT, UPDATE
45 public.bugtrackerperson = SELECT, UPDATE
46 public.bugwatchactivity = SELECT, INSERT, UPDATE
47 public.buildfarmjob = DELETE
48+public.charmbase = SELECT, INSERT, UPDATE, DELETE
49+public.charmbasearch = SELECT, INSERT, DELETE
50 public.charmfile = SELECT, INSERT, UPDATE, DELETE
51 public.charmrecipe = SELECT, INSERT, UPDATE, DELETE
52 public.charmrecipebuild = SELECT, INSERT, UPDATE, DELETE
53@@ -2322,6 +2324,7 @@ public.bugtracker = SELECT, UPDATE
54 public.bugtrackerperson = SELECT, UPDATE
55 public.bugwatch = SELECT, UPDATE
56 public.builder = SELECT, UPDATE
57+public.charmbase = SELECT, UPDATE
58 public.charmrecipe = SELECT, UPDATE
59 public.charmrecipebuild = SELECT, UPDATE
60 public.codeimport = SELECT, UPDATE
61@@ -2816,6 +2819,8 @@ public.archive = SELECT
62 public.builder = SELECT
63 public.buildfarmjob = SELECT, INSERT
64 public.buildqueue = SELECT, INSERT, UPDATE
65+public.charmbase = SELECT
66+public.charmbasearch = SELECT
67 public.charmfile = SELECT
68 public.charmrecipe = SELECT, UPDATE
69 public.charmrecipebuild = SELECT, INSERT, UPDATE

Subscribers

People subscribed via source and target branches

to status/vote changes: