HR-ATS-Portal/backend/migrations/manual/031_candidate_city_reapplie...

41 lines
1.4 KiB
SQL

-- 031_candidate_city_reapplied.sql
-- City of residence (employment-agent extraction) on the four candidate
-- surfaces, plus a denormalised reapplied JSONB list of prior job_post_ids
-- on users / manual_upload_candidate / form_data.
--
-- form_data already has residing_city from the sheet; city is a separate
-- column so inbox / users / bank share one name. Existing sheet values are
-- copied across. Applied at startup by alembic_setup.run_manual_sql().
ALTER TABLE app.users
ADD COLUMN IF NOT EXISTS city TEXT,
ADD COLUMN IF NOT EXISTS reapplied JSONB NOT NULL DEFAULT '[]'::jsonb;
ALTER TABLE app.manual_upload_candidate
ADD COLUMN IF NOT EXISTS city TEXT,
ADD COLUMN IF NOT EXISTS reapplied JSONB NOT NULL DEFAULT '[]'::jsonb;
ALTER TABLE app.form_data
ADD COLUMN IF NOT EXISTS city TEXT,
ADD COLUMN IF NOT EXISTS reapplied JSONB NOT NULL DEFAULT '[]'::jsonb;
ALTER TABLE app.inbox_messages
ADD COLUMN IF NOT EXISTS city TEXT;
UPDATE app.form_data
SET city = residing_city
WHERE city IS NULL
AND COALESCE(TRIM(residing_city), '') <> '';
CREATE INDEX IF NOT EXISTS ix_users_city
ON app.users (city);
CREATE INDEX IF NOT EXISTS ix_manual_upload_candidate_city
ON app.manual_upload_candidate (city);
CREATE INDEX IF NOT EXISTS ix_form_data_city
ON app.form_data (city);
CREATE INDEX IF NOT EXISTS ix_inbox_messages_city
ON app.inbox_messages (city);