Database update required

The database schema needs to be updated before you can use the staff portal.

The following updates are required:

  • Case secondary assignees (multi-assignment) Can be applied
    Table case_secondary_assignments does not exist. Required for multi-assignment, "Assigned to me" button, and secondary-assignee filtering. Run migration 107_case_secondary_assignments.sql.
  • Action1 update/vulnerability status Can be applied
    Missing configurations columns: action1_update_status, action1_vulnerability_status, action1_vulnerabilities_critical, action1_vulnerabilities_other. Run migration 105_action1_update_and_vulnerability_status.sql.
  • Knowledge base lookups (Category, Status, Visibility) Can be applied
    Lookup domain(s) for Knowledge base (kb_category, kb_status, kb_visibility) missing. Admin → Knowledge base → Lookups and article dropdowns will be empty. Apply this fix.
  • Microsoft 365 Calendar sync Can be applied
    Calendar sync tables missing (integration_m365_calendar / m365_calendar_*). Required for staff calendar sync to Microsoft 365 when enabled in Admin settings and per-user.
  • Appointments (meetings) Can be applied
    Tables appointments and/or appointment_events missing. Required for meeting requests, approvals, and calendar integration.
  • SLA plan per-case-type targets Can be applied
    Table sla_plan_case_type_targets missing. Required for SLA Response/First fix/Resolve targets per case type. Run this fix to add it.
  • SLA plan per-case-type per-priority targets Can be applied
    Table sla_plan_case_type_priority_targets missing. Required for SLA targets per (case type, priority). Run this fix to add it.
  • KB article case category and queue links Can be applied
    Columns case_category_lookup_id, case_sub_category_id, queue_lookup_id missing on knowledge_base_articles. Required for related KB on customer portal. Run this fix.
  • KB sub-categories Can be applied
    Table kb_sub_categories or column knowledge_base_articles.kb_sub_category_id missing. Required for Knowledge Base sub-categories under KB category. Run this fix.
  • KB Type and feature image Can be applied
    Columns kb_type_lookup_id and feature_image_path missing on knowledge_base_articles. Required for KB Type (Support, Product, etc.) and feature images. Run this fix.
  • KB Audience and Estimated time Can be applied
    Columns audience_lookup_id and estimated_time missing on knowledge_base_articles. Required for customer portal article details. Run this fix.
  • Tax engine VAT defaults & rates Can be applied
    Missing: organization.default_vat_rate_percent, tax_region_defaults, tax_rates, quotes.tax_region_lookup_id, quotes.tax_rate_percent_applied, quotes.tax_rate_source, invoices.tax_region_lookup_id, invoices.tax_rate_percent_applied, invoices.tax_rate_source, sales_orders.tax_region_lookup_id, sales_orders.tax_rate_percent_applied, sales_orders.tax_rate_source, sales_orders.tax_code_lookup_id, credit_notes.tax_region_lookup_id, credit_notes.tax_rate_percent_applied, credit_notes.tax_rate_source, credit_notes.tax_code_lookup_id. Adds global VAT default, per-region defaults, tax rates and document audit fields. Run migration 092.
  • Quote approval rules & event context Can be applied
    Missing: organization.approval_rules_max_line_discount_percent, organization.approval_rules_min_margin_percent, organization.approval_rules_deal_size_threshold, quotes.approval_required_reasons, quote_approval_events.event_context. Adds org approval rule thresholds, quote approval_required_reasons and event_context on approval events. Run migration 094.
  • Quote request changes (customer workflow) Can be applied
    Missing: quotes.request_changes_message, quotes.request_changes_at. Adds changes_requested status and message/date. Run migration 095.
  • Invoices agreement link (billing run) Can be applied
    invoices.agreement_id missing. Links invoices generated from agreement billing run. Run migration 096.
  • Quote decline audit (IP / user-agent) Can be applied
    quotes.decline_ip or decline_user_agent missing. Store IP and user-agent when customer declines. Run migration 097.
  • Stripe payment integration Can be applied
    integration_stripe table missing. Required for customer portal Pay now. Run migration 098.
  • FreeAgent accounting integration Can be applied
    integration_freeagent table missing. Required for OAuth and invoice sync. Run migration 099.
  • SLA at-risk window (organization) Can be applied
    organization.sla_at_risk_hours missing. Configurable hours for "at risk" filter and notifications. Run migration 097.
  • SLA reopened extension (organization) Can be applied
    organization.sla_reopened_extension_hours missing. Add hours to resolution target per reopen. Run migration 100.
  • Business hours recurring holidays Can be applied
    Columns is_recurring, recur_month, recur_day missing. Run this fix to support recurring holidays (e.g. 25 Dec every year).
  • SLA escalation levels Can be applied
    Table sla_escalation_levels and cases.escalation_sent_at missing. Required for SLA breach emails to manager levels per queue. Run this fix.
  • Cases at-risk sent (SLA) Can be applied
    Column cases.at_risk_sent_at missing. For SLA at-risk notifications. Run migration 099.
  • SLA escalation actions (assign/status on breach) Can be applied
    Table sla_escalation_actions missing. Run migration 101.
  • Queue default SLA plan Can be applied
    Column queue_case_defaults.default_sla_plan_id missing. Run migration 102.
  • Favourites (Quick jump) Can be applied
    Missing tables: staff_favourites, customer_favourites. Required for favourites and Quick jump.

After applying, the page will reload. If a fix cannot be applied automatically, update the database manually (e.g. run the SQL migrations in sql/migrations/).