web-dev-qa-db-fra.com

Mise à niveau du plugin WordPress DB

J'écris un plugin. J'ai ajouté 1 table personnalisée dans la base de données.

Supposons que la version actuelle de mon plugin soit la version 1.0. Après quelques jours, je suis en train de mettre à jour le plugin et maintenant sa version 1.2. Même chose après un certain temps et la version actuelle est 1.3 et ..... 1.4

Maintenant, pour chaque version de la version du plugin, j'ai apporté quelques modifications à la base de données.

Alors comment puis-je mettre à niveau la base de données. Je connais la version de la base de données Store dans le tableau des options.

Mais je ne sais pas, car un utilisateur met à jour son plugin à partir de 1.1 -> 1.2, l'autre est à partir de 1.1 -> 1.4 ......... certains sont 1.2 -> 1.4..etc .. Puisqu'il n'y a qu'un moyen d'ajouter toutes les conditions au code ou toute autre solution est disponible ?????

1
Shail

Bref non. Mais ce n'est pas particulièrement compliqué. Ajoutez simplement un nouveau bloc version_compare chaque fois que vous révisez la base de données:

$db_version = get_option( 'my_plugin_version' );

if ( version_compare( $db_version, '1.1', '<' ) ) {
    // Initial update code added in 1.1
}

if ( version_compare( $db_version, '1.2', '<' ) ) {
    // Additional update code added in 1.2
}

if ( version_compare( $db_version, '1.3', '<' ) ) {
    // And so forth
}

update_option( 'my_plugin_version', '1.3' );

Cela représente les mises à niveau à partir de toute version précédente et applique uniquement les mises à jour requises pour amener la base de données à la version actuelle.

3
TheDeadMedic