Megosztás:


Oktatóanyag: Ágalapú fejlesztési munkafolyamat

Fontos

A Lakebase automatikus skálázása bétaverzióban érhető el a következő régiókban: eastus2, , westeuropewestus.

A Lakebase Autoscaling a Lakebase legújabb verziója automatikus skálázási számítással, nullára skálázással, elágaztatással és azonnali visszaállítással. A Lakebase Provisioned szolgáltatással való összehasonlításához tekintse meg a verziók közötti választást.

Tanulja meg, hogyan használja az olyan ágakat, mint a Git-ágak: hozzon létre minden fejlesztő számára külön ágat a független munkához, majd állítsa vissza őket a szinkronizálás érdekében.

Előfeltételek

  • Egy production ággal rendelkező Lakebase-projekt (az alapértelmezett)
  • Megosztott development fejlesztési munkához létrehozott production ág
  • Az SQL és a Postgres alapszintű ismerete

A kezdőséma beállítása

A fejlesztői ág létrehozása előtt állítson be egy egyszerű sémát a fejlesztési ágon. Ez a közös kiindulási pont, amelyből minden fejlesztő elágazik. Amikor létrehozod a személyes ágadat, az azonnal örökli ezt a sémát a másolás-íráskor mechanizmus révén.

  1. Navigáljon a fejlesztési ágra a Lakebase felhasználói felületén.
  2. Nyissa meg az SQL-szerkesztőt.
  3. Hozzon létre egy egyszerű felhasználói táblát mintaadatokkal:
CREATE TABLE users (
    id SERIAL PRIMARY KEY,
    email TEXT NOT NULL UNIQUE,
    created_at TIMESTAMP DEFAULT NOW()
);

INSERT INTO users (email) VALUES
    ('alice@example.com'),
    ('bob@example.com'),
    ('charlie@example.com');

A fejlesztői ág létrehozása

A csapat minden fejlesztője hosszú életű ágat használhat a folyamatos munkához. Állítsa alaphelyzetbe rendszeresen, hogy szinkronban maradjon a szülővel.

A projekt áglistájában válassza ki a fejlesztési ágat, majd kattintson a Gyermekág létrehozása elemre. Adjon meg egy ágnevet (kötelező), például dev/alex (a mintát dev/<your-name>követve) és kattintson a Létrehozás gombra.

Az ág azonnal létrejön, és tartalmazza az összes sémát és adatot a fejlesztésből, a copy-on-write (másoláskor írás) technikával.

Az ághierarchia:

production (root)
  └── development (has users table + data)
        └── dev/alex (instantly inherits users table + data)

A funkció fejlesztése

Az .env fájlban lévő kapcsolati sztring frissítésével irányítsa az alkalmazását a fejlesztői ágra, majd a szokásos munkafolyamatával fejlessze a funkciót.

Ha például a felhasználói beállítások követését szeretné hozzáadni az alkalmazásához, az magában foglalná a felhasználói modell frissítését, egy migráció létrehozását a keretrendszerével (Prisma, Alembic, Django stb.), és annak futtatását az Ön dev/alex ágán. Az áttelepítési fájl a következőket tartalmazhatja:

ALTER TABLE users ADD COLUMN preferences JSONB DEFAULT '{}';
CREATE INDEX idx_users_preferences ON users USING GIN (preferences);

A migrálás futtatása után dolgozzon ki egy preferencia funkciót az alkalmazáskódban, és tesztelje a teljes folyamatot helyileg. Az ág teljesen el van különítve – a módosítások nem érintik az éles vagy más fejlesztőket.

A módosítások áttekintése

Mielőtt más környezetekbe továbbítanánk a módosításokat, használjuk a sémaösszehasonlító eszközt annak ellenőrzésére, hogy pontosan mi változott. Keresse meg az ág áttekintését dev/alex, kattintson a Séma diff, és hasonlítsa össze az development-et.

Az egymás melletti összehasonlítás zöld színnel jeleníti meg az új preferences oszlopot és indexet:

Schema diff, amely megjeleníti a dev/alex ághoz hozzáadott beállítások oszlopát és indexét

Ez az ellenőrzési lépés segít elkapni a nem kívánt módosításokat, mielőtt azok elérnék az éles üzemet. A séma különbségeiről szóló teljes dokumentációért lásd az Ágsémák összehasonlítása című részt.

A módosítások érvényesítése

Ha biztos a módosításokban, előléptesse őket a felsőbb rétegbeli ágakra. Alkalmazza ugyanazokat a sémamódosításokat, amelyeket a dev/alex ágon érvényesített, majd telepítse az alkalmazáskódot az development ágra. Ez a munkafolyamat biztosítja, hogy a sémamódosításokat külön tesztelje a megosztott környezetek elérése előtt.

Alaphelyzetbe állítás és újrakezdés

Ha készen áll az új munka megkezdésére, állítsa alaphelyzetbe a személyes ágát, hogy szinkronban maradjon a változásokkal, amelyek a development többi fejlesztőtől származhatnak. Így a jelenlegi megosztott alapkonfigurációtól kezdheti meg az új kezdést.

Lépjen a dev/alex ágára, és kattintson a Szülőtől visszaállítás parancsra. Az alaphelyzetbe állítási mód megerősíti, hogy az összes adatbázis és szerepkör a legújabb adatokkal developmentlesz helyettesítve. Ez a művelet nem vonható vissza, ezért a megerősítés előtt győződjön meg arról, hogy előléptette azokat a módosításokat, amelyeket meg szeretne tartani.

Adatmegerősítő modális visszaállítása

Az ág most már pontosan egyezik development , készen áll a következő feladatra.

Ajánlott eljárások

  • Konzisztens elnevezés használata: Kövesse a dev/<name> fejlesztői ágak mintáját.
  • Alaphelyzetbe állítás rendszeresen: Az eltolódás elkerülése érdekében tartsa szinkronban az ágat development .
  • Produkció védelme:Védett ágak használata a véletlen változtatások megelőzéséhez