Quando você desenvolve um plugin, frequentemente tem que efetuar atualização do número da versão.
Pode acontecer de colocar uma versão futura (data futura) por enquanto e depois querer corrigir. Mas o plugin já está instalado. Neste caso, para resolver teria que desinstalar e o plugin e instalar novamente. Isso pode ser um problema se o plugin usa base de dados. Ao desinstalar, todas as tabelas que o plugin gera serão removidos, apagando assim as informações já cadastradas.
Já enfrentei esse problema. A solução que encontrei foi gerar um comando SQL e script PHP para solucionar isso.
O comando a seguir usa o plugin Badiu Grade Curricular como exemplo.
Consultar informação do plugin pelo nome e versão
SELECT * FROM mdl_config_plugins WHERE plugin =? AND name='version'
Coloque nome do plugin em plugin=?
Comando SQL que altere a versão do plugin
UPDATE mdl_config_plugins SET value= ? WHERE plugin =? AND name='version'
Coloque o valor da versão em value= ? e nome do plugin em plugin=?
Script PHP que altera versão
function update_plugin_version($plugin,$newversion){ global $CFG,$DB; $sql="UPDATE {$CFG->prefix}config_plugins SET value= '".$newversion."' WHERE plugin ='".$plugin."' and name='version'"; $r=$DB->execute($sql); return $r; }
Exemplo de invocação de função
update_plugin_version('enrol_badiugcurricular','2015051404');