5 návyků, které zavedou do verzování i toho, kdo ho odkládá

Automatizované testy se vyplatí pro opakující se scénáře: přihlášení, vyplnění formuláře, ověření výpočtu, kontrola notifikace. Napište je tak, aby byly nezávislé na datech a aby každý test začínal v čistém stavu. Pokud test závisí na předchozím, jeho pád zamaskuje skutečnou příčinu. Častá chyba je automatizovat vše, včetně vizuálních detailů, které se mění s každou aktualizací rozhraní. Takové testy pak padají kvůli posunutému pixelu, ne kvůli chybě v logice.

Časté chyby mají společné jméno: „any” a tvrzení typu. Když napíšete „něco as SomeType”, jen tím překladateli řeknete, ať věří, že data mají tvar, který nemají. Kontrola projde a chyba se objeví až v provozu. Stejně zrádné je ignorovat návratové hodnoty funkcí, které mohou vrátit null. Řešení není složité: vždy pracujte s možností, že hodnota chybí. Pomůže volitelný řetězec „?.”, výchozí hodnota přes „??” a úzké typy místo širokých. Místo „string” použijte konkrétní unijní typ, pokud znáte povolené hodnoty.

Větve, které se rozjedou, a jak je srovn

Migrace z MySQL do PostgreSQL není jen výměna ovladače. Oba systémy mají odlišnou filozofii ukládání dat, typovou kontrolu a chování transakcí. Pokud se na to připravíte předem, vyhnete se nejčastějším chybám, které jinak vedou k tichému poškození dat nebo k výpadku aplikace po přechodu.

Verzovací systém není nástroj, který si nastavíte jednou a pak na něj zapomenete. U webových projektů se do něj sahá několikrát denně, takže záleží hlavně na návycích. První krok nejsou příkazy, ale rozhodnutí, co vlastně chcete sledovat. Do repozitáře patří zdrojové soubory, konfigurace šablon, skripty sestavení a dokumentace. Naopak závislosti stažené správcem balíčků, výstupní složky sestavení, lokální konfigurace s hesly a nahrané soubory od uživatelů tam nepatří.

Jak přenést data a neztratit integritu Samotný přenos dat se dělí na dvě části: strukturu a obsah. Strukturu vytvořte ručně nebo převodem DDL, ale vždy ji zkontrolujte. Automatické převodníky často vynechají indexy, cizí klíče nebo výchozí hodnoty. Data exportujte do CSV nebo SQL a importujte po dávkách. U velkých tabulek použijte copy, které je výrazně rychlejší než vkládání jednotlivých řádků. Během importu vypněte cizí klíče a po dokončení je znovu zapněte a ověřte.

Kód, který funguje, ještě nemusí být kód, který se dá číst. Rozdíl mezi oběma bývá vidět až ve chvíli, kdy se k souboru vrátíš po půl roce nebo do něj vstoupí kolega. Čistý kód v JavaScriptu není o estetice. Je to praktická vlastnost: zkracuje dobu, za kterou najdeš chybu, a snižuje riziko, že při opravě rozbiješ něco jiného.

Po migraci spusťte srovnávací testy. Porovnejte počty řádků, kontrolní součty a výsledky klíčových dotazů. Nasaďte aplikaci nejprve na staging, kde simulujete zátěž. Teprve potom přepněte produkci. Mějte připravený rollback plán — starou databázi nechte běžet alespoň několik dní, dokud si nejste jisti, že nové řešení drží.

Prvním krokem je audit schématu. Projděte si všechny tabulky a sloupce a porovnejte datové typy. MySQL používá tinyint, datetime nebo enum, které v PostgreSQL neexistují ve stejné podobě. Tinyint nahradíte smallint nebo boolean, enum je lepší převést na text s omezením check, případně na samostatnou číselníkovou tabulku. Pozor na unsigned typy — PostgreSQL je nemá, takže je potřeba zvolit širší typ nebo přidat kontrolní omezení.

Transakce a izolace se chovají jinak. MySQL默认 používá repeatable read, PostgreSQL read committed. Pokud aplikace spoléhá na konkrétní úroveň izolace, nastavte ji explicitně. Dále si dejte pozor na auto_increment — v PostgreSQL se řeší přes serial nebo identity. Sekvence je nutné po importu přenastavit, jinak další vložení selže na konflikt primárního klíče.

Častou chybou je podcenění rozdílů v řetězcích. MySQL ve výchozím nastavení nerozlišuje velikost písmen u porovnávání, PostgreSQL ano. To ovlivní vyhledávání, unikátní indexy i join podmínky. Pokud potřebujete chování bez rozlišení, použijte citext nebo funkční index s lower(). Stejně tak si ověřte práci s NULL — v MySQL je NULL ve sloupci s unique indexem povolen vícekrát, v PostgreSQL také, ale chování u složených indexů se liší.

If you have any kind of questions relating to where and how you can use číst více, you can call us at the web-page.

Leave a Comment

Your email address will not be published. Required fields are marked *