---
title: "Migrácie len na publikovanie — Testing for Laravel | Roundly"
description: "Overte, že balík publikuje migrácie s časovou pečiatkou a zároveň ich automaticky nenačítava — chyba duplicitnej tabuľky ako test."
url: https://roundly-consulting.com/sk/open-source/navody/testing-for-laravel/publikovane-migracie
language: sk
---

[Všetky balíky](https://roundly-consulting.com/sk/open-source.md)

[Testing for Laravel](https://roundly-consulting.com/sk/open-source/navody/testing-for-laravel.md)

# Migrácie len na publikovanie

Balík, ktorý publikuje migrácie s časovou pečiatkou, ich nesmie zároveň automaticky načítavať — inak sa spustia obe kópie a migrácia zlyhá na duplicitnej tabuľke. Táto chyba zasiahla tri naše balíky. Dve expectations určené len pre balíky pripínajú toto pravidlo k service providerovi:

```php
expect($providerClass)->toNotAutoLoadMigrations(?string $migrationsDir = null);
expect($providerClass)->toPublishMigrationsTimestamped(string $tag, int $count);
```

```php
it('publishes its migrations instead of auto-loading them', function (): void {
    expect(PasskeysServiceProvider::class)->toNotAutoLoadMigrations();
    expect(PasskeysServiceProvider::class)->toPublishMigrationsTimestamped('passkeys-migrations', 3);
});
```

- toNotAutoLoadMigrations — adresár migrácií balíka (reflexiou odvodený z providera alebo zadaný explicitne) nesmie byť zaregistrovaný v migrátore.
- toPublishMigrationsTimestamped — tag musí publikovať presne $count zdrojov, každý do cieľa database\_path('migrations/<Y\_m\_d\_His>\_<name>.php').

Obe dávajú zmysel len nad service providerom balíka, preto sú určené len pre balíky — aplikácia nemá provider, na ktorý by ich nasmerovala. Provider musí byť v aplikácii testu zaregistrovaný cez packageProviders(): toNotAutoLoadMigrations zlyhá na provideri, ktorý nikdy nenabootoval — nemohol nič zaregistrovať a prešiel by zadarmo. Statické zrkadlá: Assert::doesNotAutoLoadMigrations() a Assert::publishesMigrationsTimestamped().

## Prejavte lásku k open source

Tento balík je zadarmo pod licenciou MIT. Ak vám šetrí čas, jednorazový príspevok alebo členstvo na Patreone nám pomôže ho ďalej udržiavať, testovať a dokumentovať.

[Ďalšie spôsoby podpory vrátane kryptomien](https://roundly-consulting.com/sk/podporte-nas.md)

Odoslaním daru súhlasíte s našimi [podmienkami prijímania darov](https://roundly-consulting.com/sk/podmienky-darov.md).

[Podporte našu open-source prácu (otvorí sa v novej karte)](https://donate.stripe.com/dRmeVe8FX5PF1Qd9pXcEw00) [Pridajte sa k nám na Patreone (otvorí sa v novej karte)](https://www.patreon.com/cw/roundly)

## Chcete to zabudovať do svojho produktu?

Naše balíky integrujeme do zákazkových Laravel a AI riešení. Napíšte nám, na čom pracujete, a ozveme sa do 48 hodín.

[Ponuka do 48 hodín](https://roundly-consulting.com/sk/kontakt.md) [Prezrieť všetky balíky](https://roundly-consulting.com/sk/open-source/navody/testing-for-laravel.md)
