Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature ISSv3 #9374

Draft
wants to merge 3 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 25 additions & 0 deletions schema/spacewalk/common/tables/suseISSHub.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
--
-- Copyright (c) 2024 SUSE LLC
--
-- This software is licensed to you under the GNU General Public License,
-- version 2 (GPLv2). There is NO WARRANTY for this software, express or
-- implied, including the implied warranties of MERCHANTABILITY or FITNESS
-- FOR A PARTICULAR PURPOSE. You should have received a copy of GPLv2
-- along with this software; if not, see
-- http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt.

CREATE TABLE suseISSHub
(
id BIGINT CONSTRAINT suse_iss_hub_id_pk PRIMARY KEY
GENERATED ALWAYS AS IDENTITY,
fqdn VARCHAR(253) NOT NULL
CONSTRAINT suse_iss_hub_fqdn_uq UNIQUE,
root_ca TEXT,
mirror_creds_id NUMERIC NULL
CONSTRAINT suse_iss_hub_mirrcreds_fk
REFERENCES suseCredentials (id) ON DELETE SET NULL,
created TIMESTAMPTZ
DEFAULT (current_timestamp) NOT NULL,
modified TIMESTAMPTZ
DEFAULT (current_timestamp) NOT NULL
);
26 changes: 26 additions & 0 deletions schema/spacewalk/common/tables/suseISSPeripheral.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
--
-- Copyright (c) 2024 SUSE LLC
--
-- This software is licensed to you under the GNU General Public License,
-- version 2 (GPLv2). There is NO WARRANTY for this software, express or
-- implied, including the implied warranties of MERCHANTABILITY or FITNESS
-- FOR A PARTICULAR PURPOSE. You should have received a copy of GPLv2
-- along with this software; if not, see
-- http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt.
--

CREATE TABLE suseISSPeripheral
(
id BIGINT CONSTRAINT suse_issper_id_pk PRIMARY KEY
GENERATED ALWAYS AS IDENTITY,
fqdn VARCHAR(253) NOT NULL
CONSTRAINT suse_issper_fqdn_uq UNIQUE,
root_ca TEXT,
mirror_creds_id NUMERIC NULL
CONSTRAINT suse_issper_mirrcreds_fk
REFERENCES suseCredentials (id) ON DELETE SET NULL,
created TIMESTAMPTZ
DEFAULT (current_timestamp) NOT NULL,
modified TIMESTAMPTZ
DEFAULT (current_timestamp) NOT NULL
);
30 changes: 30 additions & 0 deletions schema/spacewalk/common/tables/suseISSPeripheralChannels.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
--
-- Copyright (c) 2024 SUSE LLC
--
-- This software is licensed to you under the GNU General Public License,
-- version 2 (GPLv2). There is NO WARRANTY for this software, express or
-- implied, including the implied warranties of MERCHANTABILITY or FITNESS
-- FOR A PARTICULAR PURPOSE. You should have received a copy of GPLv2
-- along with this software; if not, see
-- http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt.
--

CREATE TABLE suseISSPeripheralChannels
(
id BIGINT CONSTRAINT suse_issperchan_id_pk PRIMARY KEY
GENERATED ALWAYS AS IDENTITY,
peripheral_id BIGINT NOT NULL
CONSTRAINT suse_issperchan_pid_fk
REFERENCES suseISSPeripheral(id) ON DELETE CASCADE,
channel_id NUMERIC NOT NULL
CONSTRAINT suse_issperchan_cid_fk
REFERENCES rhnChannel(id) ON DELETE CASCADE,
peripheral_org_id INTEGER NULL,
created TIMESTAMPTZ
DEFAULT (current_timestamp) NOT NULL,
modified TIMESTAMPTZ
DEFAULT (current_timestamp) NOT NULL
);

CREATE UNIQUE INDEX use_issperchan_pid_cid_uq
ON suseISSPeripheralChannels (peripheral_id, channel_id);
3 changes: 3 additions & 0 deletions schema/spacewalk/common/tables/tables.deps
Original file line number Diff line number Diff line change
Expand Up @@ -242,6 +242,9 @@ suseImageInfoChannel :: suseImageInfo rhnChannel
suseImageInfoInstalledProduct :: suseInstalledProduct suseImageInfo
suseImageProfile :: rhnRegTokenChannels web_customer suseImageStore
suseImageStore :: suseCredentials web_customer suseImageStoreType
suseISSHub :: suseCredentials
suseISSPeripheral :: suseCredentials
suseISSPeripheralChannels :: suseISSPeripheral rhnChannel
suseMaintenanceCalendar :: web_customer
suseMaintenanceSchedule :: web_customer suseMaintenanceCalendar
suseMgrServerInfo :: rhnServer rhnPackageEVR suseCredentials
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
--
-- Copyright (c) 2024 SUSE LLC
--
-- This software is licensed to you under the GNU General Public License,
-- version 2 (GPLv2). There is NO WARRANTY for this software, express or
-- implied, including the implied warranties of MERCHANTABILITY or FITNESS
-- FOR A PARTICULAR PURPOSE. You should have received a copy of GPLv2
-- along with this software; if not, see
-- http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt.

CREATE TABLE IF NOT EXISTS suseISSHub
(
id BIGINT CONSTRAINT suse_iss_hub_id_pk PRIMARY KEY
GENERATED ALWAYS AS IDENTITY,
fqdn VARCHAR(253) NOT NULL
CONSTRAINT suse_iss_hub_fqdn_uq UNIQUE,
root_ca TEXT,
mirror_creds_id NUMERIC NULL
CONSTRAINT suse_iss_hub_mirrcreds_fk
REFERENCES suseCredentials (id) ON DELETE SET NULL,
created TIMESTAMPTZ
DEFAULT (current_timestamp) NOT NULL,
modified TIMESTAMPTZ
DEFAULT (current_timestamp) NOT NULL
);

CREATE TABLE IF NOT EXISTS suseISSPeripheral
(
id BIGINT CONSTRAINT suse_issper_id_pk PRIMARY KEY
GENERATED ALWAYS AS IDENTITY,
fqdn VARCHAR(253) NOT NULL
CONSTRAINT suse_issper_fqdn_uq UNIQUE,
root_ca TEXT,
mirror_creds_id NUMERIC NULL
CONSTRAINT suse_issper_mirrcreds_fk
REFERENCES suseCredentials (id) ON DELETE SET NULL,
created TIMESTAMPTZ
DEFAULT (current_timestamp) NOT NULL,
modified TIMESTAMPTZ
DEFAULT (current_timestamp) NOT NULL
);

CREATE TABLE IF NOT EXISTS suseISSPeripheralChannels
(
id BIGINT CONSTRAINT suse_issperchan_id_pk PRIMARY KEY
GENERATED ALWAYS AS IDENTITY,
peripheral_id BIGINT NOT NULL
CONSTRAINT suse_issperchan_pid_fk
REFERENCES suseISSPeripheral(id) ON DELETE CASCADE,
channel_id NUMERIC NOT NULL
CONSTRAINT suse_issperchan_cid_fk
REFERENCES rhnChannel(id) ON DELETE CASCADE,
peripheral_org_id INTEGER NULL,
created TIMESTAMPTZ
DEFAULT (current_timestamp) NOT NULL,
modified TIMESTAMPTZ
DEFAULT (current_timestamp) NOT NULL
);

CREATE UNIQUE INDEX IF NOT EXISTS suse_issperchan_pid_cid_uq
ON suseISSPeripheralChannels (peripheral_id, channel_id);
Loading