Jaký příkaz, kdy
Pro každodenní lokální iteraci téměř vždy chcete
yarn twenty dev. Nasazování a publikování slouží k vydávání verzí, ne pro lokální vývojovou smyčku.yarn twenty dev --once a yarn twenty dev --once --dry-run stále fungují jako zastaralé aliasy pro yarn twenty apply a yarn twenty plan.Lokální synchronizace nevyžaduje zvýšení verze
Pravidlo striktně rostoucíversion (VERSION_ALREADY_EXISTS při nasazení, APP_ALREADY_INSTALLED / CANNOT_DOWNGRADE_APPLICATION při instalaci) platí pro app:publish / app:install — cestu vydání. yarn twenty dev synchronizuje váš manifest na místě a nikdy nevyžaduje změnu verze, takže kvůli iteraci nemusíte sahat na package.json. Pokud zvyšujete verzi, abyste otestovali lokální změnu, používáte cestu vydání, i když chcete vývojovou smyčku.
Čtení výstupu synchronizace
Každá synchronizace vypíše změny metadat, které aplikovala (nebo by aplikovala splan), ve stylu Terraformu — jeden blok na entitu s jejími atributy a poté souhrnný řádek:
to destroy) jsou uvedeny s tím, co odstraňují (např. objectMetadata "auditNote" — drops the table and all its rows) a vyžadují interaktivní potvrzení, nebo --force ve skriptech.
Když synchronizace selže na jedné entitě, chyba uvede problematickou entitu a její universalIdentifier, například:
Náhled změn (plan)
yarn twenty plan sestaví váš manifest, požádá server o migrační plán a vypíše ho — aniž by cokoli aplikoval. Je to bezpečný způsob, jak si předem zodpovědět otázku „co by tato synchronizace změnila?“ ještě předtím, než se k ní zavážete.
- Nic nezapisuje — žádná migrace metadat, žádná aktualizace záznamu aplikace, žádné změny výchozí role / karty a žádná generace API klienta.
- Vrací stejný diff, jaký by aplikovala skutečná synchronizace, takže můžete předem zkontrolovat vytvořené / aktualizované / smazané entity.
- Je užitečný před rizikovou změnou, při kontrole změny vygenerované pomocí AI nebo ve skriptu, který má selhat, pokud se má provést neočekávaná změna.
Plán zobrazuje pouze náhled změn metadat a vyžaduje, aby byla aplikace alespoň jednou synchronizovaná (aby o ní pracovní prostor věděl). Pokud jej spustíte proti aplikaci, která nikdy nebyla synchronizovaná, server ohlásí, že aplikace není nainstalovaná — nejprve jednou spusťte
yarn twenty dev.Postup obnovy
Když lokální metadata vypadají špatně, postupujte v tomto pořadí a zastavte se, jakmile se problém vyřeší. Každý další krok je rušivější než ten předchozí.- Znovu synchronizujte. Znovu spusťte
yarn twenty apply. Synchronizace jsou idempotentní — znovu spuštěný čistý manifest je bezpečný a často vyřeší přechodný problém. - Prohlédněte si plán. Spusťte
yarn twenty plan, abyste přesně viděli, co chce další synchronizace změnit, aniž by to aplikovala. - Přečtěte si pojmenovanou chybu. Pokud synchronizace selže, poznamenejte si typ metadat a
universalIdentifierve zprávě (viz výše) a tuto entitu najděte ve svém manifestu. Konflikt obvykle ukazuje na duplicitní nebo znovu použitý identifikátor. - Odinstalujte a znovu nainstalujte.
yarn twenty app:uninstall, poté znovu synchronizujte (yarn twenty dev). Tím znovu vybudujete metadata aplikace z čistého stavu, zatímco zbytek vašeho pracovního prostoru zůstane nedotčený. - Úplný reset (krajní řešení).
yarn twenty docker:reset, poté znovu naplňte data a synchronizujte.
Nastala chyba v metadatech? Prosíme, vytvořte issue a přiložte chybovou zprávu selhané migrace (s typem metadat a
universalIdentifier), výstup Metadata changes ze synchronizace a příkazy, které jste spustili.Vyhněte se souběžným synchronizacím v jednom pracovním prostoru
Synchronizace aplikuje migrace metadat. Spouštění několika synchronizačních, nasazovacích nebo instalačních operací proti stejnému pracovnímu prostoru ve stejnou dobu — například z víc terminálů nebo od více AI agentů iterujících paralelně — může tyto migrace prokládat a zanechat metadata v částečně aplikovaném stavu. Server serializuje synchronizace pro každý pracovní prostor, aby tomu zabránil, ale přesto byste citlivé operace s metadaty měli směrovat přes jeden jediný proces místo toho, abyste je spouštěli souběžně. Pokud orchestrujete vývoj s více agenty, směrujte jejich volání sync/deploy/install přes jednu frontu, aby vždy běžel jen jeden proces.Rozlišení typů selhání
Když se něco pokazí, diff metadat a pojmenované chyby vám umožní lokalizovat selhání:- Chyba sestavení manifestu — CLI selže ještě před synchronizací (
MANIFEST_BUILD_FAILED,TYPECHECK_FAILED); opravte zdrojový kód své aplikace. - Chyba synchronizace / migrace — sestavení proběhne úspěšně, ale aplikování diffu selže a uvede entitu a
universalIdentifier; opravte konfliktní metadata. - Chyba za běhu aplikačního kódu — synchronizace proběhne úspěšně, ale vaše logické funkce nebo komponenty se za běhu chovají nesprávně; zkontrolujte protokoly funkcí.
- Lokální stav instance — neplatí nic z výše uvedeného a pracovní prostor stále vypadá chybně; pokračujte dolů po žebříčku obnovy.