6.4. Upgrade databáze

6.4.1. Vytvořte novou delta aktualizaci

  • Nejprve vytvořte novou větev pro vaši modifikaci na modelu

  • Upravte kód vytváření SQL jak se vám nejlépe hodí

  • Vytvořte odpovídající soubor SQL delta v data-model/update/delta. * soubor musí být pojmenován: delta_{tag_number}_{increment}_{short description}.sql ` viz Cykly a verzování. <qwat_dev.html # release-cycle-and-versioning> `_

  • Odešlete vaší Branch a zkontrolujte výsledek travis

  • Pokud je test travis v pořádku, můžete vytvořit požadavek vyžádání a sloučit vaše změny do předlohy

Poznámka

Datový model by měl být TAGOVÁN. Značka by měla respektovat následující syntaxi, jako je tato: x.x.x. U každé hlavní verze se značka MUSÍ nazývat x.0.0.

6.4.2. Migrujte existující databázi

Pokud používáte starou verzi modelu QWAT, můžete jej upgradovat podle následujících pokynů:

Varování

Před upgradem byste měli vždy uložit aktuální databázi

  • Otevřete terminál a přejděte na qwat_project/data-model/update

  • Spusťte příkaz pro upgrade: ./upgrade_db.sh
    • Tím se otestuje proces migrace

  • Pokud je proces migrace v pořádku, spusťte znovu příkaz s parametrem pro aktualizaci skutečné DB: ./upgrade_db.sh --upgrade yes

Poznámka

Váš .pg_service.conf musí obsahovat připojení k qwat, qwat_test a qwat_conform DB

6.4.3. Jak to funguje

Máme značku pro verzi x.0

V adresáři /update/delta/ najdete seznam souborů SQL, které obsahují aktuální vývoj (delta). Pokud spustíme init_qwat.sh v aktuálním úložišti git, měli bychom mít stejnou DB, než kdybychom prováděli init_qwat.sh verze x.0. Přispěvatel, který přidá nový soubor delta SQL, musí také aktualizovat skript SQL pro vytváření databáze SQL.

Pro uživatele proces migrace spočívá v:

  • Získejte verzi jeho základu (měl by být uveden v QWAT systémovém schématu).

  • Spusťte migrační skript, který v parametru vezme číslo verze. Skript provádí následující úkoly:
    • pg_dump QWAT DB

    • pg_restore předchozího výpisu v testovací DB (* qwat_test *)

    • Proveďte v testu DB veškerou delta SQL vyšší nebo rovnou číslu verze (sql delta musí být pojmenováno delta_{tag_number}_{increment}_{short description}.sql)

    • Spusťte skript pro testování shody:
      • Vytvořte novou DB: qwat_test_conform

      • Vytvořte referenční soubor (výsledek z testovacího sql DB)

      • Porovnání tohoto referenčního souboru se souborem vytvořeným dříve vytvořenou qwat_test DB

      • Pokud je vše v pořádku, je uživatel vyzván k zahájení migrace na jeho skutečné databázi

      • Pokud dojde k chybám, musí je uživatel sám odladit, nebo kontaktovat tým QWAT