{{-- The migration gate's 503. Its own view, not `abort(503, $message)`, because Laravel's stock 503 page renders the title and drops the message -- and the message is the entire point here: the person reading this is an operator mid-migration who needs the group name and the command, not the words "Service Unavailable". Deliberately standalone: no layout, no Inertia, no build step. It has to render on a half-migrated database where the very tables a layout would query may not be there yet. --}} Not migrated yet — {{ $path }}

This module is not migrated yet

The page exists and you have access to it. Its database tables have not been converted yet, so it is refused rather than shown with missing data.

@foreach ($blockers as $group => $units) @endforeach
Page{{ $path }}
Waiting on group {{ $group }} @if ($units)
{{ count($units) }} table{{ count($units) === 1 ? '' : 's' }} still owed: {{ implode(', ', array_slice($units, 0, 12)) }}{{ count($units) > 12 ? ', …' : '' }} @endif
@if ($command)
cd "two db/step" && {{ $command }}
@endif

Applying it is safe to do while the application is running, and this page starts working the moment the group's last step is recorded. Details: two db/step/MANIFEST.md.