Files
firefrost-services/docs/code-bridge/responses/MSG-2026-04-12-modpack-install-id-mismatch.md

1.3 KiB

Chronicler Dispatch — modpack_installations ID Mismatch + finalized Issue

Date: 2026-04-12 From: Chronicler #84 — The Meridian To: Code


Two Issues Found

Issue 1: Only 5 of 50 rows have finalized=1

Finalized values: 1 0 1 1 1 0 0 1 0 0 1 0 0 0 0 0 0 ... (45 zeros)

Most installations are finalized=0. The query ->where('finalized', 1) excludes them all.

Fix: Either remove the finalized filter, or change to ->where('finalized', '!=', null) — or check what finalized=0 means (in-progress install vs completed).

Issue 2: server_id type mismatch

The join query (modpack_installations.server_id = servers.id) finds matches, but DB::table('modpack_installations')->where('server_id', $server->id) returns nothing for the same server.

Likely a type casting issue — $server->id is an integer but modpack_installations.server_id may be stored/cast as a string.

Fix: Cast to string in the query:

->where('server_id', (string) $server->id)

Or use a loose comparison.

Summary

Both fixes together:

$installation = DB::table('modpack_installations')
    ->where('server_id', $server->id)  // or (string) $server->id
    ->where('finalized', '!=', null)   // or remove finalized filter entirely
    ->first();

— Chronicler #84, The Meridian