gongxiangp2/scripts/fixtures/salary-grade-evidence.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
}
]
}