42 lines
1.3 KiB
PL/PgSQL
42 lines
1.3 KiB
PL/PgSQL
-- Deploy guix-data-service:lint_warnings to pg
|
|
|
|
BEGIN;
|
|
|
|
CREATE TABLE lint_checkers (
|
|
id integer PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
|
|
name varchar NOT NULL,
|
|
description varchar NOT NULL,
|
|
network_dependent boolean NOT NULL,
|
|
UNIQUE (name, description, network_dependent)
|
|
);
|
|
|
|
CREATE TABLE lint_warning_messages (
|
|
id integer PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
|
|
locale varchar NOT NULL,
|
|
message varchar NOT NULL,
|
|
UNIQUE (locale, message)
|
|
);
|
|
|
|
CREATE TABLE lint_warning_message_sets (
|
|
id integer NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
|
|
message_ids integer[] NOT NULL,
|
|
UNIQUE (message_ids)
|
|
);
|
|
|
|
CREATE TABLE lint_warnings (
|
|
id integer PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
|
|
lint_checker_id integer NOT NULL,
|
|
package_id integer NOT NULL REFERENCES packages (id),
|
|
location_id integer NOT NULL REFERENCES locations (id),
|
|
lint_warning_message_set_id integer NOT NULL REFERENCES lint_warning_message_sets (id),
|
|
UNIQUE (lint_checker_id, package_id, location_id, lint_warning_message_set_id)
|
|
);
|
|
|
|
CREATE TABLE guix_revision_lint_warnings (
|
|
lint_warning_id integer NOT NULL REFERENCES lint_warnings (id),
|
|
guix_revision_id integer NOT NULL REFERENCES guix_revisions (id),
|
|
PRIMARY KEY (lint_warning_id, guix_revision_id)
|
|
);
|
|
|
|
COMMIT;
|