-- GoChat Contact model extended fields -- Reference: Chatwoot app/models/contact.rb — P2B M4 spec -- Adds additional_attributes, custom_attributes, blocked, contact_type, -- middle_name, last_name, country_code, location, source_id, company_id -- to the existing contacts table. ALTER TABLE contacts ADD COLUMN IF NOT EXISTS additional_attributes JSONB DEFAULT '{}'; ALTER TABLE contacts ADD COLUMN IF NOT EXISTS custom_attributes JSONB DEFAULT '{}'; ALTER TABLE contacts ADD COLUMN IF NOT EXISTS blocked BOOLEAN DEFAULT FALSE; ALTER TABLE contacts ADD COLUMN IF NOT EXISTS contact_type VARCHAR(50) DEFAULT ''; ALTER TABLE contacts ADD COLUMN IF NOT EXISTS middle_name VARCHAR(255) DEFAULT ''; ALTER TABLE contacts ADD COLUMN IF NOT EXISTS last_name VARCHAR(255) DEFAULT ''; ALTER TABLE contacts ADD COLUMN IF NOT EXISTS country_code VARCHAR(10) DEFAULT ''; ALTER TABLE contacts ADD COLUMN IF NOT EXISTS location VARCHAR(255) DEFAULT ''; ALTER TABLE contacts ADD COLUMN IF NOT EXISTS source_id VARCHAR(255); ALTER TABLE contacts ADD COLUMN IF NOT EXISTS company_id INTEGER; CREATE INDEX IF NOT EXISTS idx_contacts_blocked ON contacts(blocked) WHERE deleted_at IS NULL; CREATE INDEX IF NOT EXISTS idx_contacts_contact_type ON contacts(contact_type) WHERE deleted_at IS NULL AND contact_type != '';