CREATE TABLE IF NOT EXISTS contact_exports ( id BIGSERIAL PRIMARY KEY, account_id BIGINT NOT NULL, user_id BIGINT, status VARCHAR(50) NOT NULL DEFAULT 'pending', file_name VARCHAR(255) NOT NULL, content_type VARCHAR(100) NOT NULL DEFAULT 'text/csv', file_url VARCHAR(512), csv_data BYTEA, row_count INTEGER DEFAULT 0, column_names JSONB, filter_params JSONB, error TEXT, completed_at TIMESTAMP WITH TIME ZONE, created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(), updated_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(), deleted_at TIMESTAMP WITH TIME ZONE ); CREATE INDEX IF NOT EXISTS idx_contact_exports_account_id ON contact_exports(account_id); CREATE INDEX IF NOT EXISTS idx_contact_exports_user_id ON contact_exports(user_id); CREATE INDEX IF NOT EXISTS idx_contact_exports_deleted_at ON contact_exports(deleted_at);