scripts-bash/local/share/ytdll/lib/UpdateManager.php

49 lines
1.5 KiB
PHP

<?PHP
// Auteur : Cédrix pour a5l.fr
// Projet : scripts-bash/ytdll
// Version 2024.07.07-14.31
// Version initiale
class UpdateManager {
private $pdo;
private $database;
public function __construct($database) {
$this->database = $database;
$this->pdo = $this->database->getPDO();
}
public function manageVersionTables() {
$configManager = new Config($this->database);
// Obtenir le numéro de version dans le fichier de définitions de table
$definitionsTablesFile = json_decode(file_get_contents($configManager->getPathDefinitionsTablesFile()), true);
$newDefinitionNumber = $definitionsTablesFile['definition_number'];
// Obtenir le numéro de version des Tables en base
$currentDefinitionNumber = $configManager->getVersionDefinitionsTables();
if ($currentDefinitionNumber !== null) {
echo 'Version not set or an error occurred.';
$currentDefinitionNumber = 0;
}
$tables = $definitionsTablesFile['tables'];
if ($newDefinitionNumber > $currentDefinitionNumber) {
$tableManager = new TableManager($this->database);
$tableManager->processTables($tables);
$configManager->setVersionDefinitionsTables($newDefinitionNumber);
if ($currentDefinitionNumber == 0) {
echo "Tables created successfully.";
} else {
echo "Tables updated successfully from $currentDefinitionNumber to $newDefinitionNumber.";
}
}
}
}