diegosouzapw/OmniRoute · error

[Migration] Deferring optional FTS5 migrations on driver ${d

Error message

[Migration] Deferring optional FTS5 migrations on driver ${db.driver}: ${summary}. Memory search will fall back until a SQLite driver with FTS5 support is available.

What it means

Error "[Migration] Deferring optional FTS5 migrations on driver ${db.driver}: ${summary}. Memory search will fall back until a SQLite driver with FTS5 support is available." thrown in diegosouzapw/OmniRoute.

Source

Thrown at src/lib/db/migrationRunner.ts:996

    }
    return isMissing;
  });
  const deferredUnsupported = pending.filter((migration) =>
    isDeferredUnsupportedMigration(db, migration)
  );
  const actionablePending = pending.filter(
    (migration) => !deferredUnsupported.some((deferred) => deferred.version === migration.version)
  );

  if (pending.length === 0) {
    return 0; // Nothing to do
  }

  if (deferredUnsupported.length > 0) {
    const summary = deferredUnsupported
      .map((migration) => `${migration.version}_${migration.name}`)
      .join(", ");
    console.warn(
      `[Migration] Deferring optional FTS5 migrations on driver ${db.driver}: ${summary}. ` +
        `Memory search will fall back until a SQLite driver with FTS5 support is available.`
    );
  }

  // ── Safety Check 2: Mass-migration detection (abort if existing DB + many migrations) ──
  // Skip in test environments where fresh DBs legitimately have many pending migrations.
  const isTestEnvironment = isAutomatedTestProcess();

  // #3416: resolve the threshold at call time so OMNIROUTE_MAX_PENDING_MIGRATIONS
  // can override the default (0 disables the check). The abort message below
  // interpolates this resolved value, so it auto-reflects any override.
  const maxPendingMigrations = resolveMaxPendingMigrations();

  // #9934: `omniroute setup`'s openOmniRouteDb writes a partial skeleton file
  // (provider_connections + key_value) that has never had migrations run. When
  // the first `serve` opens it and auto-seeds only the 001 marker, the applied
  // set is exactly {001} — which would otherwise look like a wiped existing DB

View on GitHub (pinned to a179ffed5b)

When it happens

Trigger: Thrown at src/lib/db/migrationRunner.ts:996 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of diegosouzapw/OmniRoute@a179ffed5b (2026-08-25). Data as JSON: /api/errors/5b3f5b3895f6281e. Report an issue: GitHub.