324 lines
11 KiB
SQL
324 lines
11 KiB
SQL
CREATE TABLE qualification (
|
|
id serial NOT NULL ,
|
|
type_id integer NOT NULL,
|
|
company_id integer NOT NULL,
|
|
group_id integer NOT NULL DEFAULT 0,
|
|
name character varying NOT NULL,
|
|
name_metaphone character varying,
|
|
description text,
|
|
created_date integer DEFAULT NULL,
|
|
created_by integer DEFAULT NULL,
|
|
updated_date integer DEFAULT NULL,
|
|
updated_by integer DEFAULT NULL,
|
|
deleted_date integer DEFAULT NULL,
|
|
deleted_by integer DEFAULT NULL,
|
|
deleted smallint DEFAULT 0 NOT NULL
|
|
);
|
|
|
|
CREATE TABLE user_education (
|
|
id serial NOT NULL ,
|
|
user_id integer NOT NULL,
|
|
qualification_id integer NOT NULL,
|
|
institute character varying NOT NULL,
|
|
major character varying NOT NULL,
|
|
minor character varying NOT NULL,
|
|
graduate_date integer DEFAULT NULL,
|
|
grade_score character varying DEFAULT NULL,
|
|
start_date integer DEFAULT NULL,
|
|
end_date integer DEFAULT NULL,
|
|
created_date integer DEFAULT NULL,
|
|
created_by integer DEFAULT NULL,
|
|
updated_date integer DEFAULT NULL,
|
|
updated_by integer DEFAULT NULL,
|
|
deleted_date integer DEFAULT NULL,
|
|
deleted_by integer DEFAULT NULL,
|
|
deleted smallint DEFAULT 0 NOT NULL
|
|
);
|
|
|
|
CREATE TABLE user_license (
|
|
id serial NOT NULL ,
|
|
user_id integer NOT NULL,
|
|
qualification_id integer NOT NULL,
|
|
license_number character varying NOT NULL,
|
|
license_issued_date integer DEFAULT NULL,
|
|
license_expiry_date integer DEFAULT NULL,
|
|
created_date integer DEFAULT NULL,
|
|
created_by integer DEFAULT NULL,
|
|
updated_date integer DEFAULT NULL,
|
|
updated_by integer DEFAULT NULL,
|
|
deleted_date integer DEFAULT NULL,
|
|
deleted_by integer DEFAULT NULL,
|
|
deleted smallint DEFAULT 0 NOT NULL
|
|
);
|
|
|
|
CREATE TABLE user_skill (
|
|
id serial NOT NULL ,
|
|
user_id integer NOT NULL DEFAULT 0,
|
|
qualification_id integer NOT NULL,
|
|
proficiency_id integer NOT NULL,
|
|
experience integer NOT NULL DEFAULT 0,
|
|
description character varying NOT NULL DEFAULT '',
|
|
first_used_date integer DEFAULT NULL,
|
|
last_used_date integer DEFAULT NULL,
|
|
enable_calc_experience smallint DEFAULT 0 NOT NULL,
|
|
expiry_date integer DEFAULT NULL,
|
|
created_date integer DEFAULT NULL,
|
|
created_by integer DEFAULT NULL,
|
|
updated_date integer DEFAULT NULL,
|
|
updated_by integer DEFAULT NULL,
|
|
deleted_date integer DEFAULT NULL,
|
|
deleted_by integer DEFAULT NULL,
|
|
deleted smallint DEFAULT 0 NOT NULL
|
|
);
|
|
|
|
CREATE TABLE user_language (
|
|
id serial NOT NULL ,
|
|
user_id integer NOT NULL DEFAULT 0,
|
|
qualification_id integer NOT NULL,
|
|
fluency_id integer NOT NULL DEFAULT 0,
|
|
competency_id integer NOT NULL DEFAULT 0,
|
|
description character varying NOT NULL DEFAULT '',
|
|
created_date integer DEFAULT NULL,
|
|
created_by integer DEFAULT NULL,
|
|
updated_date integer DEFAULT NULL,
|
|
updated_by integer DEFAULT NULL,
|
|
deleted_date integer DEFAULT NULL,
|
|
deleted_by integer DEFAULT NULL,
|
|
deleted smallint DEFAULT 0 NOT NULL
|
|
);
|
|
|
|
CREATE TABLE user_membership (
|
|
id serial NOT NULL ,
|
|
user_id integer NOT NULL DEFAULT 0,
|
|
qualification_id integer NOT NULL,
|
|
ownership_id integer NOT NULL DEFAULT 0,
|
|
amount numeric(15,2) NOT NULL DEFAULT 0,
|
|
currency_id integer NOT NULL,
|
|
start_date integer NOT NULL,
|
|
renewal_date integer NOT NULL,
|
|
created_date integer DEFAULT NULL,
|
|
created_by integer DEFAULT NULL,
|
|
updated_date integer DEFAULT NULL,
|
|
updated_by integer DEFAULT NULL,
|
|
deleted_date integer DEFAULT NULL,
|
|
deleted_by integer DEFAULT NULL,
|
|
deleted smallint DEFAULT 0 NOT NULL
|
|
);
|
|
|
|
CREATE TABLE qualification_group (
|
|
id serial NOT NULL ,
|
|
company_id integer NOT NULL,
|
|
name character varying DEFAULT NULL,
|
|
created_date integer DEFAULT NULL,
|
|
created_by integer DEFAULT NULL,
|
|
updated_date integer DEFAULT NULL,
|
|
updated_by integer DEFAULT NULL,
|
|
deleted_date integer DEFAULT NULL,
|
|
deleted_by integer DEFAULT NULL,
|
|
deleted smallint DEFAULT 0 NOT NULL
|
|
);
|
|
|
|
CREATE TABLE qualification_group_tree (
|
|
tree_id integer DEFAULT 0 NOT NULL,
|
|
parent_id integer DEFAULT 0 NOT NULL,
|
|
object_id integer DEFAULT 0 NOT NULL,
|
|
left_id bigint DEFAULT 0 NOT NULL,
|
|
right_id bigint DEFAULT 0 NOT NULL
|
|
);
|
|
|
|
CREATE TABLE kpi (
|
|
id serial NOT NULL ,
|
|
company_id integer NOT NULL,
|
|
status_id integer NOT NULL,
|
|
type_id integer NOT NULL,
|
|
name character varying NOT NULL,
|
|
description text,
|
|
minimum_rate numeric(9,2),
|
|
maximum_rate numeric(9,2),
|
|
created_date integer DEFAULT NULL,
|
|
created_by integer DEFAULT NULL,
|
|
updated_date integer DEFAULT NULL,
|
|
updated_by integer DEFAULT NULL,
|
|
deleted_date integer DEFAULT NULL,
|
|
deleted_by integer DEFAULT NULL,
|
|
deleted smallint NOT NULL DEFAULT 0
|
|
);
|
|
|
|
CREATE TABLE user_review_control (
|
|
id serial NOT NULL ,
|
|
user_id integer NOT NULL DEFAULT 0,
|
|
reviewer_user_id integer NOT NULL DEFAULT 0,
|
|
type_id integer NOT NULL,
|
|
term_id integer NOT NULL,
|
|
severity_id integer NOT NULL,
|
|
status_id integer NOT NULL,
|
|
start_date integer NOT NULL,
|
|
end_date integer NOT NULL,
|
|
due_date integer NOT NULL,
|
|
rating numeric(9,2),
|
|
note text DEFAULT NULL,
|
|
created_date integer DEFAULT NULL,
|
|
created_by integer DEFAULT NULL,
|
|
updated_date integer DEFAULT NULL,
|
|
updated_by integer DEFAULT NULL,
|
|
deleted_date integer DEFAULT NULL,
|
|
deleted_by integer DEFAULT NULL,
|
|
deleted smallint NOT NULL DEFAULT 0
|
|
);
|
|
|
|
CREATE TABLE user_review (
|
|
id serial NOT NULL ,
|
|
user_review_control_id integer NOT NULL,
|
|
kpi_id integer NOT NULL,
|
|
rating numeric(9,2),
|
|
note text DEFAULT NULL,
|
|
created_date integer DEFAULT NULL,
|
|
created_by integer DEFAULT NULL,
|
|
updated_date integer DEFAULT NULL,
|
|
updated_by integer DEFAULT NULL,
|
|
deleted_date integer DEFAULT NULL,
|
|
deleted_by integer DEFAULT NULL,
|
|
deleted smallint NOT NULL DEFAULT 0
|
|
);
|
|
|
|
CREATE TABLE kpi_group (
|
|
id serial NOT NULL ,
|
|
company_id integer NOT NULL,
|
|
name character varying DEFAULT NULL,
|
|
created_date integer DEFAULT NULL,
|
|
created_by integer DEFAULT NULL,
|
|
updated_date integer DEFAULT NULL,
|
|
updated_by integer DEFAULT NULL,
|
|
deleted_date integer DEFAULT NULL,
|
|
deleted_by integer DEFAULT NULL,
|
|
deleted smallint DEFAULT 0 NOT NULL
|
|
);
|
|
|
|
CREATE TABLE kpi_group_tree (
|
|
tree_id integer DEFAULT 0 NOT NULL,
|
|
parent_id integer DEFAULT 0 NOT NULL,
|
|
object_id integer DEFAULT 0 NOT NULL,
|
|
left_id bigint DEFAULT 0 NOT NULL,
|
|
right_id bigint DEFAULT 0 NOT NULL
|
|
);
|
|
|
|
CREATE TABLE user_contact (
|
|
id serial NOT NULL ,
|
|
user_id integer NOT NULL,
|
|
status_id integer NOT NULL,
|
|
type_id integer NOT NULL,
|
|
ethnic_group_id integer NOT NULL,
|
|
first_name character varying,
|
|
middle_name character varying,
|
|
last_name character varying,
|
|
sex_id integer,
|
|
address1 character varying,
|
|
address2 character varying,
|
|
city character varying,
|
|
country character varying,
|
|
province character varying,
|
|
postal_code character varying,
|
|
work_phone character varying,
|
|
work_phone_ext character varying,
|
|
home_phone character varying,
|
|
mobile_phone character varying,
|
|
fax_phone character varying,
|
|
home_email character varying,
|
|
work_email character varying,
|
|
birth_date integer,
|
|
sin character varying,
|
|
note text,
|
|
created_date integer DEFAULT NULL,
|
|
created_by integer DEFAULT NULL,
|
|
updated_date integer DEFAULT NULL,
|
|
updated_by integer DEFAULT NULL,
|
|
deleted_date integer DEFAULT NULL,
|
|
deleted_by integer DEFAULT NULL,
|
|
deleted smallint DEFAULT 0 NOT NULL
|
|
);
|
|
|
|
CREATE TABLE ethnic_group (
|
|
id serial NOT NULL,
|
|
company_id integer DEFAULT 0 NOT NULL,
|
|
name character varying,
|
|
created_date integer DEFAULT NULL,
|
|
created_by integer DEFAULT NULL,
|
|
updated_date integer DEFAULT NULL,
|
|
updated_by integer DEFAULT NULL,
|
|
deleted_date integer DEFAULT NULL,
|
|
deleted_by integer DEFAULT NULL,
|
|
deleted smallint DEFAULT 0 NOT NULL
|
|
);
|
|
|
|
CREATE TABLE company_setting (
|
|
id serial NOT NULL,
|
|
company_id integer NOT NULL,
|
|
type_id integer NOT NULL,
|
|
name character varying NOT NULL,
|
|
value character varying,
|
|
created_date integer,
|
|
created_by integer,
|
|
updated_date integer,
|
|
updated_by integer,
|
|
deleted_date integer,
|
|
deleted_by integer,
|
|
deleted smallint DEFAULT 0 NOT NULL
|
|
);
|
|
|
|
CREATE TABLE user_setting (
|
|
id serial NOT NULL,
|
|
user_id integer NOT NULL,
|
|
type_id integer NOT NULL,
|
|
name character varying NOT NULL,
|
|
value character varying,
|
|
created_date integer,
|
|
created_by integer,
|
|
updated_date integer,
|
|
updated_by integer,
|
|
deleted_date integer,
|
|
deleted_by integer,
|
|
deleted smallint DEFAULT 0 NOT NULL
|
|
);
|
|
|
|
CREATE INDEX qualification_company_id ON qualification USING btree (company_id);
|
|
CREATE INDEX qualification_type_id ON qualification USING btree (type_id);
|
|
CREATE INDEX qualification_group_company_id ON qualification_group USING btree (company_id);
|
|
CREATE INDEX qualification_group_tree_left_id_right_id ON qualification_group_tree USING btree (left_id, right_id);
|
|
CREATE INDEX qualification_group_tree_tree_id_object_id ON qualification_group_tree USING btree (tree_id, object_id);
|
|
CREATE INDEX qualification_group_tree_tree_id_parent_id ON qualification_group_tree USING btree (tree_id, parent_id);
|
|
|
|
CREATE INDEX user_education_user_id ON user_education USING btree (user_id);
|
|
CREATE INDEX user_license_user_id ON user_license USING btree (user_id);
|
|
CREATE INDEX user_skill_user_id ON user_skill USING btree (user_id);
|
|
CREATE INDEX user_language_user_id ON user_language USING btree (user_id);
|
|
CREATE INDEX user_membership_user_id ON user_membership USING btree (user_id);
|
|
|
|
CREATE INDEX user_education_qualification_id ON user_education USING btree (qualification_id);
|
|
CREATE INDEX user_license_qualification_id ON user_license USING btree (qualification_id);
|
|
CREATE INDEX user_skill_qualification_id ON user_skill USING btree (qualification_id);
|
|
CREATE INDEX user_language_qualification_id ON user_language USING btree (qualification_id);
|
|
CREATE INDEX user_membership_qualification_id ON user_membership USING btree (qualification_id);
|
|
|
|
CREATE INDEX kpi_company_id ON kpi USING btree (company_id);
|
|
CREATE INDEX kpi_group_company_id ON kpi_group USING btree (company_id);
|
|
CREATE INDEX kpi_group_tree_left_id_right_id ON kpi_group_tree USING btree (left_id, right_id);
|
|
CREATE INDEX kpi_group_tree_tree_id_object_id ON kpi_group_tree USING btree (tree_id, object_id);
|
|
CREATE INDEX kpi_group_tree_tree_id_parent_id ON kpi_group_tree USING btree (tree_id, parent_id);
|
|
|
|
CREATE INDEX user_review_kpi_id ON user_review USING btree (kpi_id);
|
|
CREATE INDEX user_review_control_id ON user_review USING btree (user_review_control_id);
|
|
CREATE INDEX user_review_control_user_id ON user_review_control USING btree (user_id);
|
|
CREATE INDEX user_contact_user_id ON user_contact USING btree (user_id);
|
|
|
|
CREATE INDEX ethnic_group_company_id ON ethnic_group USING btree (company_id);
|
|
|
|
CREATE INDEX company_setting_company_id ON company_setting USING btree (company_id);
|
|
CREATE INDEX user_setting_user_id ON user_setting USING btree (user_id);
|
|
|
|
ALTER TABLE pay_stub_entry ADD COLUMN user_expense_id integer DEFAULT 0;
|
|
ALTER TABLE company ADD COLUMN migrate_url character varying;
|
|
ALTER TABLE users ADD COLUMN ethnic_group_id integer DEFAULT 0;
|
|
ALTER TABLE users ADD COLUMN default_job_id integer DEFAULT 0;
|
|
ALTER TABLE users ADD COLUMN default_job_item_id integer DEFAULT 0;
|
|
ALTER TABLE currency ADD COLUMN round_decimal_places smallint NOT NULL DEFAULT 2;
|