# Przyczyna i naprawa 2.7.2.1

## Zgłoszony wyjątek

```text
balt078_register_migration(): Argument #5 ($notes) must be of type string, int given
called in app/enterprise_release_272.php
```

## Kanoniczna sygnatura

```php
balt078_register_migration(
    string $migrationKey,
    string $version,
    string $filePath = '',
    string $status = 'applied',
    string $notes = '',
    int $userId = 0,
    array $details = []
): void
```

## Błędna kolejność

Wersja 2.7.2 przekazywała opis jako czwarty argument, a identyfikator użytkownika jako piąty. W konsekwencji liczba całkowita trafiała do parametru `$notes` typu `string`.

## Naprawa

Wywołanie przekazuje teraz jawnie:

```php
balt078_register_migration(
    $key,
    BALT272_RELEASE_VERSION,
    $path,
    'applied',
    $notes,
    $userId,
    $details
);
```

Naprawa rozpoznaje rzeczywistą sygnaturę helpera przez Reflection i ma bezpośredni, idempotentny fallback do Migration Ledger.

## Odzyskanie częściowo wykonanej aktualizacji

Wyjątek występował na końcu bazowego procesu, po możliwym utworzeniu tabel, ustawień i modułów. Operacje 2.7.2 są oparte na `CREATE TABLE IF NOT EXISTS` oraz `ON DUPLICATE KEY UPDATE`, dlatego instalator 2.7.2.1 może bezpiecznie wykonać je ponownie i dokończyć zapis migracji.
