111 lines
3.4 KiB
JSON
111 lines
3.4 KiB
JSON
{
|
|
"columns": [
|
|
{
|
|
"table_name": "personnel_salary_bases",
|
|
"column_name": "job_grade",
|
|
"data_type": "character varying",
|
|
"udt_name": "varchar",
|
|
"is_nullable": "NO",
|
|
"column_default": "''::character varying",
|
|
"numeric_precision": null,
|
|
"numeric_scale": null
|
|
},
|
|
{
|
|
"table_name": "salary_position_configs",
|
|
"column_name": "job_grade",
|
|
"data_type": "character varying",
|
|
"udt_name": "varchar",
|
|
"is_nullable": "NO",
|
|
"column_default": "''::character varying",
|
|
"numeric_precision": null,
|
|
"numeric_scale": null
|
|
},
|
|
{
|
|
"table_name": "salary_position_configs",
|
|
"column_name": "personnel_position_id",
|
|
"data_type": "text",
|
|
"udt_name": "text",
|
|
"is_nullable": "YES",
|
|
"column_default": null,
|
|
"numeric_precision": null,
|
|
"numeric_scale": null
|
|
}
|
|
],
|
|
"indexes": [
|
|
{
|
|
"tablename": "salary_position_configs",
|
|
"indexname": "salary_grade_scheme_live_unique",
|
|
"indexdef": "CREATE UNIQUE INDEX salary_grade_scheme_live_unique ON public.salary_position_configs USING btree (personnel_position_id, job_grade) WHERE ((deleted_at IS NULL) AND (personnel_position_id IS NOT NULL))",
|
|
"indisunique": true,
|
|
"indisprimary": false,
|
|
"indisvalid": true,
|
|
"indisready": true,
|
|
"access_method": "btree",
|
|
"columns": [
|
|
"personnel_position_id",
|
|
"job_grade"
|
|
],
|
|
"predicate": "((deleted_at IS NULL) AND (personnel_position_id IS NOT NULL))"
|
|
},
|
|
{
|
|
"tablename": "salary_position_configs",
|
|
"indexname": "salary_position_configs_personnel_position_id_idx",
|
|
"indexdef": "CREATE INDEX salary_position_configs_personnel_position_id_idx ON public.salary_position_configs USING btree (personnel_position_id)",
|
|
"indisunique": false,
|
|
"indisprimary": false,
|
|
"indisvalid": true,
|
|
"indisready": true,
|
|
"access_method": "btree",
|
|
"columns": [
|
|
"personnel_position_id"
|
|
],
|
|
"predicate": ""
|
|
}
|
|
],
|
|
"constraints": [
|
|
{
|
|
"tablename": "personnel_salary_bases",
|
|
"constraint_name": "personnel_salary_grade_check",
|
|
"contype": "c",
|
|
"convalidated": true,
|
|
"delete_action": " ",
|
|
"referenced_table": null,
|
|
"columns": [
|
|
"job_grade"
|
|
],
|
|
"referenced_columns": [],
|
|
"expression": "job_grade::text = ''::text OR job_grade::text ~ '^[A-Z][0-9]{1,2}$'::text"
|
|
},
|
|
{
|
|
"tablename": "salary_position_configs",
|
|
"constraint_name": "salary_grade_scheme_binding_check",
|
|
"contype": "c",
|
|
"convalidated": true,
|
|
"delete_action": " ",
|
|
"referenced_table": null,
|
|
"columns": [
|
|
"personnel_position_id",
|
|
"job_grade",
|
|
"id"
|
|
],
|
|
"referenced_columns": [],
|
|
"expression": "personnel_position_id IS NULL AND job_grade::text = ''::text OR personnel_position_id IS NOT NULL AND personnel_position_id <> id AND job_grade::text ~ '^[A-Z][0-9]{1,2}$'::text"
|
|
},
|
|
{
|
|
"tablename": "salary_position_configs",
|
|
"constraint_name": "salary_grade_scheme_parent_fk",
|
|
"contype": "f",
|
|
"convalidated": true,
|
|
"delete_action": "r",
|
|
"referenced_table": "salary_position_configs",
|
|
"columns": [
|
|
"personnel_position_id"
|
|
],
|
|
"referenced_columns": [
|
|
"id"
|
|
],
|
|
"expression": null
|
|
}
|
|
]
|
|
}
|