# REQ-2026-04-13-missing-modpack-installations-migration

**Filed by:** Chronicler #85  
**Date:** 2026-04-13  
**Priority:** HIGH — blocks Dev Panel deploy, will block any fresh install  
**Status:** OPEN

## Problem

The `modpack_installations` table exists on live panel (panel-vps) but has **no migration file** in the repo. It was created directly on the server at some point and never committed.

This caused an API error on Dev Panel during today's deploy — the table simply didn't exist. Chronicler manually created it via raw SQL as a temporary fix to unblock testing.

## Live Panel Schema (confirmed via Trinity Core)

```
Field       | Type                  | Null | Key | Default | Extra
provider    | varchar(191)          | NO   |     | NULL    |
modpack_id  | varchar(191)          | NO   |     | NULL    |
server_id   | bigint(20) unsigned   | NO   | PRI | NULL    |
finalized   | tinyint(1)            | NO   |     | 0       |
```

PRIMARY KEY on `server_id`. Engine InnoDB, charset utf8mb4.

## What Code Needs to Do

Create a proper Laravel migration file:

```
services/modpack-version-checker/blueprint-extension/database/migrations/2026_04_13_000001_create_modpack_installations_table.php
```

Using the schema above. Standard Blueprint/Laravel migration format matching the existing migration files in that directory.

## Why It Matters

Without this, any fresh Blueprint install (new panel, wipe and reinstall) will throw:
`SQLSTATE[42S02]: Table 'panel.modpack_installations' doesn't exist`

This will affect every BuiltByBit customer who purchases ModpackChecker.

## After Code Pushes

Chronicler will pull on Dev Panel and confirm the migration file is present before live panel deploy.
