-- Organic social connection slots per tenant -- Idempotent. (Distinct from meta_ads / paid.) alter table public.integrations drop constraint if exists integrations_provider_check; alter table public.integrations add constraint integrations_provider_check check (provider in ( 'meta_ads', 'google_ads', 'ga4', 'search_console', 'tag_manager', 'clientify', 'klaviyo', 'mailchimp', 'google_drive', 'wordpress', 'prestashop', 'shopify', 'instagram', 'facebook', 'tiktok', 'linkedin' )); insert into public.integrations (tenant_id, provider, status, label) select t.id, p.provider, 'disconnected', p.label from public.tenants t cross join ( values ('instagram', 'Instagram'), ('facebook', 'Facebook Page'), ('tiktok', 'TikTok'), ('linkedin', 'LinkedIn') ) as p(provider, label) on conflict (tenant_id, provider) do nothing;