it-swarm-eu.dev

Jak sloučím změny z vývojové kopie webu do živého webu, aniž bych ztratil nový obsah?

Jaký je nejlepší postup pro sloučení práce na vývojové kopii webu do kopie živé produkce? Od začátku vývoje na nejnovějších funkcích bylo na web často přidáno mnoho nového obsahu. A většina dodatků k webu bude zahrnovat změny databáze. Kopírování nových souborů je tedy snadné, ale co databáze? Jak sloučíte své změny s existující produkční databází bez ztráty nového obsahu, který byl přidán od poslední aktualizace produkčního webu? Existují nějaké moduly, které s tím pomáhají?

40
Chaulky

U typů obsahu, zobrazení a změn struktury na webu dev se podívejte na použití Features pro export databáze do kódu.

Pro migraci obsahu existuje mnoho možností, ale ne jediné pevné řešení. Jedním příkladem je Deployment suite .

16
budda

Přijal jsem zde v podstatě dvě myšlenkové školy (3. myšlenková škola, databáze se liší, nebudu diskutovat, protože složitost je poměrně vysoká).

1) Nasadí se zrušením produkční databáze a importem mysqldump vývojové databáze. Případně spusťte regex najít/nahradit předem na všech pevně kódovaných absolutních odkazech, které odkazují na dev adresu URL v výpisu SQL. Po importu dev db do prod, poté automaticky spusťte příkazy SQL (obvykle skriptem), abyste změnili nastavení, která se liší pro prod než dev (např. Možná máte v tabulce proměnných některá nastavení připojení pro připojení k externím systémům, které potřebujete změňte tak, aby ukazoval na externí externí produkty místo na verzi dev).

2) Použijte modul Features , jak uvádí Budda, pro nastavení správce a pomocí modulu Export uzl pro export/import obsahu v kombinaci s Smazat) Vše modul. Pracovní postup je tedy:

  1. použijte node_export a funkce pro export uzlů/funkcí do souborů
  2. Volitelně (a snad) ovládání verzí
  3. Načíst soubory v systému prod
  4. K načtení funkcí použijte rozhraní drush nebo admin
  5. Chcete-li odstranit všechny uzly typů, které chcete importovat, použijte rozhraní Drush delete-all nebo admin
  6. K importu uzlů ze souboru uzlů, který jste exportovali, použijte drush ne-import nebo rozhraní admin.

Jedna poznámka, velmi doporučuji přijmout standardní pracovní postup, kdy obsah jde pouze jedním směrem. Buď Dev -> Prod nebo Prod -> Dev (dávám přednost tomuto).

Udělal jsem to, a dělám to na některých velkých systémech, s docela dobrými výsledky, ale vždy bude existovat mnoho způsobů, jak tento Apple nakrájet, vybrat ten, který způsob vám nejlépe vyhovuje.

2
coderintherye

Vypíše databáze výpisu živé kopie a vývojové kopie webu v souboru SQL (pro oba výpisy použijte stejné parametry a nastavení).
Poté porovnejte oba soubory SQL pomocí malého porovnávacího nástroje ExamDiff . Zobrazí rozdíly souborů vedle sebe s různými barvami. Můžete také přímo přeskočit na rozdíly (bez posouvání). Prozkoumejte rozdíly a přidejte/upravte řádky do souboru SQL živého webu. Ujistěte se, že v tomto souboru není absolutní cesta/URL vývojového prostředí. To je hotovo! Je čas obnovit databázi pro živé stránky.
Usnadněte si život: V prvním kroku vypište pouze ty tabulky, které jsou změněny. Pokud jste například upravili modul ve vývojové kopii, která cílí na samostatnou tabulku, vypíše pouze tuto tabulku. Pokud si nejste jisti konkrétní tabulkou, je výpis celé databáze v pořádku.

1
user931