-- Integration configuration and sync logging for ERP connections (Odoo, etc.) CREATE TABLE IF NOT EXISTS integrations ( id UUID PRIMARY KEY DEFAULT uuid_generate_v4(), name TEXT UNIQUE NOT NULL, enabled BOOLEAN NOT NULL DEFAULT false, config JSONB NOT NULL DEFAULT '{}', created_at TIMESTAMPTZ NOT NULL DEFAULT now(), updated_at TIMESTAMPTZ NOT NULL DEFAULT now() ); CREATE TABLE IF NOT EXISTS sync_log ( id UUID PRIMARY KEY DEFAULT uuid_generate_v4(), integration_id UUID NOT NULL REFERENCES integrations(id) ON DELETE CASCADE, item_id UUID REFERENCES items(id) ON DELETE SET NULL, direction TEXT NOT NULL, status TEXT NOT NULL DEFAULT 'pending', external_id TEXT, external_model TEXT, request_payload JSONB, response_payload JSONB, error_message TEXT, started_at TIMESTAMPTZ, completed_at TIMESTAMPTZ, created_at TIMESTAMPTZ NOT NULL DEFAULT now() ); CREATE INDEX IF NOT EXISTS idx_sync_log_integration ON sync_log(integration_id); CREATE INDEX IF NOT EXISTS idx_sync_log_item ON sync_log(item_id); CREATE INDEX IF NOT EXISTS idx_sync_log_status ON sync_log(status);