{{ mb_strtoupper(mb_substr(preg_replace('/[^A-Za-z0-9]/', '', $brand) ?: 'S', 0, 1)) }}
{{ $brand }} Restore link

Put a backup back

Choose an archive that is already on the server, or upload one this system wrote, and it is restored over the live database. No account is needed. The migrations that ship with the running code are applied on top of it, so what comes back matches the code you are looking at.

@if (! empty($state['closed']))
@if (($state['closed']['reason'] ?? '') === 'closed') This link has been closed. @if (! empty($state['closed']['by'])) Closed by {{ $state['closed']['by'] }} @endif @if (! empty($state['closed']['at'])) on {{ \Illuminate\Support\Carbon::parse($state['closed']['at'])->format('j M Y, g:i a') }} @endif . Somebody with access to Settings → Backup can open a new one. @else This link has expired. @if (! empty($state['closed']['at'])) It was open until {{ \Illuminate\Support\Carbon::parse($state['closed']['at'])->format('j M Y, g:i a') }}. @endif Somebody with access to Settings → Backup can open a new one. @endif
@endif @if (! empty($state['error']))
{{ $state['error'] }}
@endif @if (! empty($state['result']))
The database was restored from {{ $state['result']['archive'] }}. Sign in to the site to carry on. This link is still open, so it can be used again while it lasts.
Tables now in the database
{{ number_format($state['result']['tables']) }}
Stored files restored
{{ number_format($state['result']['files']) }}
Copy taken beforehand
{{ $state['result']['safety'] }}
Migrations
{{ $state['result']['migrations'] === null ? 'Not run' : 'Applied' }}
@if (! empty($state['result']['migration_error']))
The restore worked, but the migrations that bring the schema up to the running code failed: {{ $state['result']['migration_error'] }}
@endif @if (! empty($state['result']['migrations']))
{{ $state['result']['migrations'] }}
@endif @endif @if (empty($state['closed'])) @if (empty($state['result']) && empty($state['error']))
This replaces the database. Every record in it is overwritten by the archive, anyone signed in is signed out, and a full verified backup of the current state is taken first so this can be undone.
@endif
An archive already on the server
@if (count($archives) === 0)

There are no archives in the backup directory on this server. Upload one below.

@else
@foreach ($archives as $archive) @endforeach
@endif
Or upload a backup

The .zip this system wrote — for example a download named like 20261028-185910-database-xxxx.zip. Do not unzip it. An upload takes the place of a choice above.

A verified backup of the current database is taken first. If it cannot be taken, nothing is restored.

@endif @if (count($uses) > 0)
Recent use of this link
@foreach ($uses as $use) @endforeach
When Archive Outcome
{{ ! empty($use['at']) ? \Illuminate\Support\Carbon::parse($use['at'])->format('j M, g:i a') : '—' }} {{ $use['archive'] ?? '—' }} @if (! empty($use['safety']))
copy saved as {{ $use['safety'] }}
@endif
{{ ucfirst($use['outcome'] ?? 'used') }}

Every attempt is recorded, including the ones that were refused — those files live on the server, not in the database, so a restore cannot erase them.

@endif