Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
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
developmentfejlesztési munkához létrehozottproductioná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.
- Navigáljon a fejlesztési ágra a Lakebase felhasználói felületén.
- Nyissa meg az SQL-szerkesztőt.
- 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 ága teljesen el van különítve. A módosítások nem érintik a termelési környezetet 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:
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
Az előléptetés nem automatikus. A módosítások előmozdításához futtassa le ugyanazt az áttelepítést az development ágon, amelyen már futott dev/alex. Nincs Lakebase-specifikus lépés. A migrálási fájl már megtalálható a kódbázisban, így ez a szokásos üzembehelyezési folyamatot követi.
- Frissítse a kapcsolati stringet úgy, hogy a
developmentágra mutasson. - Futtassa a migrálást
developmentazzal a parancssal, amelyetdev/alex-on/on használt. - Telepítse a frissített alkalmazáskódot.
Mivel a migráció már érvényesítve lett a személyes ágodon, zökkenőmentesen kellene alkalmaznia. Az előléptetés után a többi fejlesztő látni fogja a frissített sémát, amikor visszaállítják az ágakat a(z) development-tól.
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.
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