\AcidUpgrade

Gestionnaire de mise à jour automatisée Acidfarm Nécéssite un dossier de mise à jour qui correspondra à son type ( "update" pour l'exemple ).

A sa racine seront présent deux fichiers : cur_version.txt (svn ignore), la version (YYYY-mm-dd-x) courante de la machine last_version.txt, la version (YYYY-mm-dd-x) disponible Pour créer une mise à jour, il faut alors : Créer un dossier portant le nom d'une version (YYYY-mm-dd-x) x étant un identifiant incrémentable, permettant la génération de plusieurs dossiers par jour Ses dossiers seront traité par ordre alphabétique Tous dossier désignant une version supérieure à celle du cur_version.txt, et une version inferieure à celle du lastversion.txt seront alors parcourus. Pour ceux-ci, on traitera les fichiers .sql, .php et .sh par ordre alphabétique. Les fichiers SQL seront éxécutés avec remplacement des préfixes (ex : acid[ma-table] sera remplacé en machine_[ma-table] Les fichiers PHP seront éxécutés avec un accès aux variables globales $acid et $acid['conf'] Les fichiers SH interdiront laccès au site en invitant l'administrateur à effectuerune mise à jour manuelle En mode dev, l'utilisateur du site sera invité à procéder à une mise à jour. En prod, la mise à jourse fera automatiquement Exemple de mise en place d'un système d'upgrade pour votre site : $my_upgrade = new new AcidUpgrade('upgrade'); $my_upgrade->launchUpgrade();

Summary

Methods
Properties
Constants
__construct()
checkCurVersion()
setCurVersion()
checkLastVersion()
setLastVersion()
initVersion()
getMissing()
canUpgrade()
setFolders()
treatSQL()
treatPhp()
upgrade()
launchUpgrade()
testUpgrade()
$type
$path
$mode
$process_name
No constants found
No protected methods found
No protected properties found
N/A
No private methods found
No private properties found
N/A

Properties

$type

$type : string

Type

string — type de l'upgrade (update/upgrade)

$path

$path : string

Type

string — chemin vers le dossier d'upgrade

$mode

$mode : string

Type

string — mode de traitement (dev,prod,off)

$process_name

$process_name : string

Type

string — identifiant de traitement (post par exemple) de l'upgrade

Methods

__construct()

__construct(string  $type = 'upgrade') 

Constructeur

Parameters

string $type

checkCurVersion()

checkCurVersion() 

Récupère la version de l'utilisateur

setCurVersion()

setCurVersion(string  $version) 

Définit la version de l'utilisateur

Parameters

string $version

(YYYY-mm-dd-x)

checkLastVersion()

checkLastVersion() 

Récupère la version de partage (YYYY-mm-dd-x)

setLastVersion()

setLastVersion(string  $version) 

Définit la version de partage (YYYY-mm-dd-x)

Parameters

string $version

(YYYY-mm-dd-x)

initVersion()

initVersion(string  $version) 

Contrôle et définit si besoin la version en entrée

Parameters

string $version

(YYYY-mm-dd-x)

getMissing()

getMissing() : array|boolean

Vérifie que tous les dossiers de mise à jour qui devraient être traités et retourne ceux qui ne l'ont pas été

Returns

array|boolean

canUpgrade()

canUpgrade(boolean  $check_mode = true) : boolean

Contrôle si on doit effectuer la procédure de mise à jour

Parameters

boolean $check_mode

si false, le mode d'upgrade ne sera pas pris en compte lors de la vérification

Returns

boolean

setFolders()

setFolders(string  $version = null,   $last_version = null) 

Applique la mise à jour à compter de la version en entrée

Parameters

string $version

(YYYY-mm-dd-x)

$last_version

treatSQL()

treatSQL(string  $file) 

Execute le fichier sql en entrée

Parameters

string $file

chemin vers le fichier sql

treatPhp()

treatPhp(string  $file) 

Execute le fichier php en entrée

Parameters

string $file

chemin vers le fichier php

upgrade()

upgrade(string  $version = null) 

Applique la mise à jour à compter de la version en entrée

Parameters

string $version

(YYYY-mm-dd-x)

launchUpgrade()

launchUpgrade() 

Lance le processus de mise à jours

testUpgrade()

testUpgrade() 

Lance le processus de mise à jours