Move sql files to schemas directory
This commit is contained in:
parent
cc4763f7e7
commit
23ba4c2c3b
38 changed files with 24 additions and 14 deletions
62
schemas/schema-upgrade-1.2-1.3.sql
Normal file
62
schemas/schema-upgrade-1.2-1.3.sql
Normal file
|
|
@ -0,0 +1,62 @@
|
|||
-- upgrade script to migrate the Koji database schema
|
||||
-- from version 1.2 to 1.3
|
||||
|
||||
BEGIN;
|
||||
|
||||
-- external yum repos
|
||||
create table external_repo (
|
||||
id SERIAL NOT NULL PRIMARY KEY,
|
||||
name TEXT UNIQUE NOT NULL
|
||||
);
|
||||
-- fake repo id for internal stuff (needed for unique index)
|
||||
INSERT INTO external_repo (id, name) VALUES (0, 'INTERNAL');
|
||||
|
||||
create table external_repo_config (
|
||||
external_repo_id INTEGER NOT NULL REFERENCES external_repo(id),
|
||||
url TEXT NOT NULL,
|
||||
-- versioned - see earlier description of versioning
|
||||
create_event INTEGER NOT NULL REFERENCES events(id) DEFAULT get_event(),
|
||||
revoke_event INTEGER REFERENCES events(id),
|
||||
active BOOLEAN DEFAULT 'true' CHECK (active),
|
||||
CONSTRAINT active_revoke_sane CHECK (
|
||||
(active IS NULL AND revoke_event IS NOT NULL )
|
||||
OR (active IS NOT NULL AND revoke_event IS NULL )),
|
||||
PRIMARY KEY (create_event, external_repo_id),
|
||||
UNIQUE (external_repo_id, active)
|
||||
) WITHOUT OIDS;
|
||||
|
||||
create table tag_external_repos (
|
||||
tag_id INTEGER NOT NULL REFERENCES tag(id),
|
||||
external_repo_id INTEGER NOT NULL REFERENCES external_repo(id),
|
||||
priority INTEGER NOT NULL,
|
||||
-- versioned - see earlier description of versioning
|
||||
create_event INTEGER NOT NULL REFERENCES events(id) DEFAULT get_event(),
|
||||
revoke_event INTEGER REFERENCES events(id),
|
||||
active BOOLEAN DEFAULT 'true' CHECK (active),
|
||||
CONSTRAINT active_revoke_sane CHECK (
|
||||
(active IS NULL AND revoke_event IS NOT NULL )
|
||||
OR (active IS NOT NULL AND revoke_event IS NULL )),
|
||||
PRIMARY KEY (create_event, tag_id, priority),
|
||||
UNIQUE (tag_id, priority, active),
|
||||
UNIQUE (tag_id, external_repo_id, active)
|
||||
);
|
||||
|
||||
-- add the new column then set the existing packages to have the INTERNAL exteranl repo id
|
||||
-- then add the not null constraint
|
||||
-- then drop rpminfo_unique_nvra CONSTRAINT and add the new version
|
||||
ALTER TABLE rpminfo ADD COLUMN external_repo_id INTEGER REFERENCES external_repo(id);
|
||||
UPDATE rpminfo SET external_repo_id = 0;
|
||||
ALTER TABLE rpminfo ALTER COLUMN external_repo_id SET NOT NULL;
|
||||
ALTER TABLE rpminfo DROP CONSTRAINT rpminfo_unique_nvra;
|
||||
ALTER TABLE rpminfo ADD CONSTRAINT rpminfo_unique_nvra UNIQUE (name,version,release,arch,external_repo_id);
|
||||
|
||||
GRANT SELECT ON external_repo, external_repo_config, tag_external_repos TO PUBLIC;
|
||||
|
||||
-- these tables are no longer included with newer koji
|
||||
-- feel free to drop them
|
||||
-- DROP TABLE rpmfiles;
|
||||
-- DROP TABLE rpmdeps;
|
||||
-- DROP TABLE changelogs;
|
||||
-- DROP TABLE archivefiles;
|
||||
|
||||
COMMIT;
|
||||
Loading…
Add table
Add a link
Reference in a new issue