Files
gochat/migrations/000006_add_contact_extended_fields.up.sql
T
2026-06-04 15:44:48 +08:00

19 lines
1.3 KiB
SQL

-- 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 != '';