- Bewaar uw code op een aparte locatie van configuratiebestanden en andere variabele bestanden (geüploade afbeeldingen, cachebestanden, enz.)
- Houd de modules ook gescheiden van de hoofdcode.
- Zorg ervoor dat uw code bestandssysteemrechten heeft om zichzelf te wijzigen (gebruik bijvoorbeeld SuPHP).
Als u dit doet, is het eenvoudigst om de nieuwe versie volledig te downloaden (geen incrementele patches) en deze uit te pakken in een map naast de map die de huidige versie bevat. Omdat er geen variabele bestanden in de codedirectory zullen zijn, kunt u de oude verwijderen of hernoemen en de nieuwe naam wijzigen om deze te vervangen.
U kunt het versienummer in een globale constante in de code houden.
Wat MySQL betreft, er is geen andere manier dan een upgradescript te maken voor elke versie die de DB-layout verandert. Zelfs automatische oplossingen om de tabeldefinitie te wijzigen, weten niet hoe de bestaande gegevens moeten worden bijgewerkt.