Aktualizace
Aktualizace instalace Laravixu je jeden příkaz. Tento článek vysvětluje, co ten příkaz dělá, jak fungují upozornění na aktualizace a co dělat, když některý krok selže.
Před aktualizací
- Zálohujte databázi. Upgrade spouští migrace; záloha je vaše tlačítko zpět.
- Přečtěte si changelog — Laravix se aktivně vyvíjí a před první stabilní verzí jsou možné breaking changes.
Spuštění aktualizace
php artisan laravix:upgrade
Příkaz zobrazí aktuální verzi, nechá vás potvrdit, že máte zálohu (dotaz přeskočíte přes --force), a poté spustí:
- Composer. Když je k dispozici novější vydání, příkaz spustí
composer require laravix/cms:^<nová verze> --with-all-dependencies— čímž zvedne constraint ve vašemcomposer.json, aby upgrade neblokoval rozsah, se kterým jste původně instalovali. Když to udělá, oznámí to. Pokud už na nejnovějším vydání jste nebo běžíte na dev verzi, sáhne pocomposer update laravix/cms --with-all-dependencies. Tak či tak vypíše tabulku změněných verzí balíčků. php artisan migrate --force— aplikuje nové databázové migrace.php artisan vendor:publish --tag=laravix-assets --force— znovu publikuje assety administrace.php artisan filament:assets— přegeneruje publikované assety Filamentu.php artisan optimize:clear— promaže cache.
Když selže pozdější krok, příkaz řekne který — zbývající kroky ze seznamu výše doběhněte ručně.
Očekávaný výsledek: Laravix CMS upgraded: 0.13.1 → 0.13.2.
Když Composer ohlásí chybu. Příkaz ověří, jestli se
laravix/cmsnavzdory chybě opravdu nepřepnul na jinou verzi — typicky když selže nějaký post-install skript. Pokud se balíček aktualizoval, vypíše varování a zbylé kroky dokončí, místo aby vám nechal instalaci v půlce. Teprve když je verze skutečně nezměněná, skončí a ničeho dalšího se nedotkne.
Tip: Příkaz hledá Composer v tomto pořadí: proměnná prostředí
COMPOSER_BINARY, pak spustitelný soubor vPATH, nakoneccomposer.pharv kořeni projektu.
Upozornění na aktualizace v administraci
Administrace kontroluje na Packagistu nová vydání laravix/cms (cache 12 hodin) a při dostupné aktualizaci zobrazuje lištu s příkazem k upgradu. Kontrolu vypnete — třeba na serverech bez přístupu k internetu — nastavením:
CMS_UPDATE_CHECK=false
Stejná kontrola živí i rozhodování příkazu v kroku 1, takže jejím vypnutím zároveň zajistíte, že laravix:upgrade bude vždy jen composer update a váš constraint nikdy nezvedne.
Čeho se aktualizace nedotkne
- Vaší šablony. Složka
themes/patří vám; upgrade ji nikdy nepřepisuje. Novinky výchozí šablony dostávají jen čerstvé instalace — chcete-li je, převezměte je ručně. Upgrade také nespouští znovularavix:theme:link, takže když potom přidáte šabloně adresářdist/, spusťte ten příkaz sami — viz Struktura šablony. - Obsahu a nastavení — kromě schémových migrací zůstávají data, jak jsou.
- Vašeho kódu — aplikační providery, resources a pluginy jsou vaše.
Řešení problémů
Composer hlásí konflikty verzí. Protože si příkaz constraint laravix/cms zvedá sám, konflikt dnes obvykle znamená, že jiná závislost projektu drží něco, co nové jádro potřebuje. Prozkoumejte přes composer why-not laravix/cms <verze> a uvolněte konfliktní omezení.
Administrace po upgradu vypadá rozbitě. Nepublikovaly se assety. Spusťte ručně kroky 3–5 a obnovte prohlížeč (hard refresh).