--
-- The table apm_package_versions contains one row for each version of each package
-- we know about, e.g., acs-kernel-3.3, acs-kernel-3.3.1, bboard-1.0,
-- bboard-1.0.1, etc.
--
CREATE TABLE apm_package_versions (
version_id integer PRIMARY KEY NOT NULL,
package_key varchar(100) NOT NULL,
--
-- A version number consists of:
-- 1.A major version number.
-- 2.Optionally, up to three minor version numbers.
-- 3.One of the following:
-- The letter d, indicating a development-only version.
-- The letter a, indicating an alpha release.
-- The letter b, indicating a beta release.
-- No letter at all, indicating a final release.
-- In addition, the letters d, a, and b may be followed by another integer, indicating a version within the release.
-- For those who like regular expressions:
-- version_number := integer ('.' integer){0,3} (('d'|'a'|'b') integer?)?
-- So the following is a valid progression for version numbers:
-- 0.9d, 0.9d1, 0.9a1, 0.9b1, 0.9b2, 0.9, 1.0, 1.0.1, 1.1b1, 1.1
--
version_name varchar(100) NOT NULL,
--
-- This column should uniquely identify a package version. This URI should in practice be a URL at which this specific
-- version can be downloaded.
--
version_uri varchar(1500) NOT NULL,
--
-- Type a brief, one-sentence-or-less summary of the functionality of
-- your package. The summary should begin with a capital letter
-- and end with a period.
-- XXX (bquinn): Move to Content Repository?
--
summary varchar(3000),
--
-- Must indicate whether the description is plain text or HTML.
--
description_format varchar(100),
--
-- Type a one-paragraph description of your package. This is probably analogous
-- to the first paragraph in your package's documentation. This is used to describe
-- the system to users considering installing it.
--
description text(-5),
--
-- This tracks when the package was released. Releasing a package means
-- freezing the code and files, creating an archive, and making the
-- package available for donwload. XXX (bquinn): I'm skeptical about the
-- usefulness of storing this information here.
--
release_date timestamptz,
--
-- If the package is being released by a company or some kind of organization,
-- its name should go here.
--
vendor varchar(500),
--
-- This should be a URL pointing to the vendor.
--
vendor_uri varchar(1500),
--
-- Is the version scheduled to be loaded at startup?
--
enabled_p bool DEFAULT false NOT NULL,
--
-- Is the version actually present in the filesystem?
--
installed_p bool DEFAULT false NOT NULL,
--
-- Have we ever assigned all the files in this version a CVS tag.
-- XXX (bquinn): deprecated. CVS management should not be through
-- this table.
--
tagged_p bool DEFAULT false NOT NULL,
--
-- Did we perform a vendor import on this version?
-- XXX (bquinn): deprecated. CVS management should not be through
-- this table.
--
imported_p bool DEFAULT false NOT NULL,
--
-- Have we brought the data model up to date for this version.
-- XXX (bquinn): deprecated. Its not useful to track this information.
--
data_model_loaded_p bool DEFAULT false NOT NULL,
--
-- Store the results of an attempted CVS import.
-- XXX (bquinn): deprecated. CVS management should not be through
-- this table.
--
cvs_import_results text(-5),
--
-- When was the version last enabled?
-- XXX (bquinn): do we really care about this enough to keep the information around?
--
activation_date timestamptz,
--
-- When was the version last disabled?
-- XXX (bquinn): do we really care about this enough to keep the information around?
--
deactivation_date timestamptz,
--
-- item_id is a reference to the distribution_tarball which is stored in the content
-- repository.
--
item_id integer,
content_length integer,
--
-- Where was the distribution tarball downloaded from.
--
distribution_uri varchar(1500),
--
-- When was the distribution tarball downloaded.
--
distribution_date timestamptz,
--
-- A dir under the main site site node where an instance of the package will be mounted
-- automatically upon installation. Useful for site-wide services that need mounting
-- such as general-comments and notifications.
--
auto_mount varchar(50),
CONSTRAINT apm_package_ver_item_id_fk REFERENCES cr_items (),
CONSTRAINT apm_package_vers_desc_for_ck REFERENCES cr_items (),
CONSTRAINT apm_package_vers_id_fk REFERENCES cr_items (),
CONSTRAINT apm_package_vers_id_pk REFERENCES cr_items (),
CONSTRAINT apm_package_vers_pack_key_fk REFERENCES cr_items (),
CONSTRAINT apm_package_ver_item_id_fk REFERENCES acs_objects (),
CONSTRAINT apm_package_vers_desc_for_ck REFERENCES acs_objects (),
CONSTRAINT apm_package_vers_id_fk REFERENCES acs_objects (),
CONSTRAINT apm_package_vers_id_pk REFERENCES acs_objects (),
CONSTRAINT apm_package_vers_pack_key_fk REFERENCES acs_objects (),
CONSTRAINT apm_package_vers_pack_key_fk REFERENCES apm_package_types (),
CONSTRAINT apm_package_ver_item_id_fk REFERENCES apm_package_types (),
CONSTRAINT apm_package_vers_desc_for_ck REFERENCES apm_package_types (),
CONSTRAINT apm_package_vers_id_fk REFERENCES apm_package_types (),
CONSTRAINT apm_package_vers_id_pk REFERENCES apm_package_types ()
);
CREATE UNIQUE INDEX apm_package_vers_id_name_un ON apm_package_versions (package_key, version_name);
CREATE UNIQUE INDEX apm_package_vers_ver_uri_un ON apm_package_versions (version_uri);
CREATE INDEX apm_package_versions_item_id_idx ON apm_package_versions (item_id);
CREATE TRIGGER RI_ConstraintTrigger_a_340672 AFTER DELETE FOR EACH ROW EXECUTE PROCEDURE RI_FKey_cascade_del (disabled)
CREATE TRIGGER RI_ConstraintTrigger_a_340673 AFTER UPDATE FOR EACH ROW EXECUTE PROCEDURE RI_FKey_noaction_upd (disabled)
CREATE TRIGGER RI_ConstraintTrigger_a_340677 AFTER DELETE FOR EACH ROW EXECUTE PROCEDURE RI_FKey_cascade_del (disabled)
CREATE TRIGGER RI_ConstraintTrigger_a_340678 AFTER UPDATE FOR EACH ROW EXECUTE PROCEDURE RI_FKey_noaction_upd (disabled)
CREATE TRIGGER RI_ConstraintTrigger_a_340682 AFTER DELETE FOR EACH ROW EXECUTE PROCEDURE RI_FKey_cascade_del (disabled)
CREATE TRIGGER RI_ConstraintTrigger_a_340683 AFTER UPDATE FOR EACH ROW EXECUTE PROCEDURE RI_FKey_noaction_upd (disabled)
CREATE TRIGGER RI_ConstraintTrigger_c_340689 AFTER INSERT FOR EACH ROW EXECUTE PROCEDURE RI_FKey_check_ins (disabled)
CREATE TRIGGER RI_ConstraintTrigger_c_340690 AFTER UPDATE FOR EACH ROW EXECUTE PROCEDURE RI_FKey_check_upd (disabled)
CREATE TRIGGER RI_ConstraintTrigger_a_340692 AFTER DELETE FOR EACH ROW EXECUTE PROCEDURE RI_FKey_cascade_del (disabled)
CREATE TRIGGER RI_ConstraintTrigger_a_340693 AFTER UPDATE FOR EACH ROW EXECUTE PROCEDURE RI_FKey_noaction_upd (disabled)
CREATE TRIGGER RI_ConstraintTrigger_c_340699 AFTER INSERT FOR EACH ROW EXECUTE PROCEDURE RI_FKey_check_ins (disabled)
CREATE TRIGGER RI_ConstraintTrigger_c_340700 AFTER UPDATE FOR EACH ROW EXECUTE PROCEDURE RI_FKey_check_upd (disabled)
CREATE TRIGGER RI_ConstraintTrigger_c_340704 AFTER INSERT FOR EACH ROW EXECUTE PROCEDURE RI_FKey_check_ins (disabled)
CREATE TRIGGER RI_ConstraintTrigger_c_340705 AFTER UPDATE FOR EACH ROW EXECUTE PROCEDURE RI_FKey_check_upd (disabled)
-- Tables with foreign keys that refer to apm_package_versions:
--apm_package_callbacks(apm_package_ver_item_id_fk)
--apm_package_callbacks(apm_package_vers_desc_for_ck)
--apm_package_callbacks(apm_package_vers_id_fk)
--apm_package_callbacks(apm_package_vers_id_pk)
--apm_package_callbacks(apm_package_vers_pack_key_fk)
--apm_package_dependencies(apm_package_ver_item_id_fk)
--apm_package_dependencies(apm_package_vers_desc_for_ck)
--apm_package_dependencies(apm_package_vers_id_fk)
--apm_package_dependencies(apm_package_vers_id_pk)
--apm_package_dependencies(apm_package_vers_pack_key_fk)
--apm_package_owners(apm_package_ver_item_id_fk)
--apm_package_owners(apm_package_vers_desc_for_ck)
--apm_package_owners(apm_package_vers_id_fk)
--apm_package_owners(apm_package_vers_id_pk)
--apm_package_owners(apm_package_vers_pack_key_fk)
--apm_package_version_attr(apm_package_ver_item_id_fk)
--apm_package_version_attr(apm_package_vers_desc_for_ck)
--apm_package_version_attr(apm_package_vers_id_fk)
--apm_package_version_attr(apm_package_vers_id_pk)
--apm_package_version_attr(apm_package_vers_pack_key_fk)
-- Table size: 1,499,136 bytes
-- Table rows: 1,628
Tables: