41 lines
1.4 KiB
SQL
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);
|