--
-- Roles represent the way in which a party participates in a project
-- or task. For example, they could be a manager, or client, or
-- participant.. The sort order determines what order it is displayed
-- in. The is_observer_p specifies whether they are directly
-- responsible for the task, or are just observers on it.
--
CREATE TABLE pm_roles (
role_id integer PRIMARY KEY NOT NULL,
one_line varchar(100),
description varchar(2000),
sort_order integer,
is_observer_p char(1) DEFAULT 'f'::bpchar,
is_lead_p char(1) DEFAULT 'f'::bpchar,
CONSTRAINT pm_role_is_lead_ck
CHECK (is_lead_p = ANY (ARRAY['t'::bpchar, 'f'::bpchar])),
CONSTRAINT pm_role_is_observer_ck
CHECK (is_observer_p = ANY (ARRAY['t'::bpchar, 'f'::bpchar]))
);
CREATE UNIQUE INDEX pm_role_one_line_uq ON pm_roles (one_line);
-- Tables with foreign keys that refer to pm_roles:
--pm_process_task_assignment(pm_task_assignment_role_fk)
--pm_default_roles(pm_default_role_fk)
--pm_project_assignment(pm_project_role_map_role_fk)
--pm_task_assignment(pm_task_assignment_role_fk)
--pm_workgroup_parties(pm_workgroup_role_id)
-- Table size: 8,192 bytes
-- Table rows: 3
Tables: