mirror of
https://github.com/Deutscher-Tischfussballbund/com_sportsmanager.git
synced 2026-06-10 06:27:52 +00:00
Fix DB migration for sync_log: bump version to 121 and mirror into script.php
Addresses review feedback (jmeyer26): - update.php: move the sync_log table + dtfb_sync_url setting out of the already-released <120 migration block into a new <121 block, so instances already at version 120 actually receive them. - script.php: create the sync_log table, seed dtfb_sync_url, and set the fresh-install datenbank_version to 121 (parity with update.php).
This commit is contained in:
@@ -5709,6 +5709,38 @@ function updateDatabase(): void
|
||||
}
|
||||
|
||||
if ($datenbank_version < 120) {
|
||||
$columns = $db->getTableColumns('#__sportsmanager_teamspiel_modus');
|
||||
if (!array_key_exists('spiele_in_spielerstatistik', $columns)){
|
||||
$query = "ALTER TABLE `#__sportsmanager_teamspiel_modus`"
|
||||
. "\n ADD `spiele_in_spielerstatistik` INT(4) NOT NULL DEFAULT '0' AFTER `heimtausch`;";
|
||||
$db->setQuery($query);
|
||||
if (!$db->execute()) {
|
||||
die($db->stderr(true));
|
||||
}
|
||||
}
|
||||
|
||||
$columns = $db->getTableColumns('#__sportsmanager_bestenliste_punkte');
|
||||
if (!array_key_exists('team_id', $columns)){
|
||||
$query = "ALTER TABLE `#__sportsmanager_bestenliste_punkte`"
|
||||
. "\n ADD `team_id` INT(11) NULL DEFAULT NULL AFTER `spieler_2_id`;";
|
||||
$db->setQuery($query);
|
||||
if (!$db->execute()) {
|
||||
die($db->stderr(true));
|
||||
}
|
||||
}
|
||||
|
||||
$spielerstatistik_aktualisieren = true;
|
||||
|
||||
$query = "UPDATE #__sportsmanager_einstellungen"
|
||||
. "\n SET wert = '120'"
|
||||
. "\n WHERE name = 'datenbank_version'";
|
||||
$db->setQuery($query);
|
||||
if (!$db->execute()) {
|
||||
die($db->stderr(true));
|
||||
}
|
||||
}
|
||||
|
||||
if ($datenbank_version < 121) {
|
||||
$query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_sync_log` ("
|
||||
. "\n `sync_id` INT(11) NOT NULL AUTO_INCREMENT,"
|
||||
. "\n `sync_timestamp` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,"
|
||||
@@ -5734,30 +5766,8 @@ function updateDatabase(): void
|
||||
die($db->stderr(true));
|
||||
}
|
||||
|
||||
$columns = $db->getTableColumns('#__sportsmanager_teamspiel_modus');
|
||||
if (!array_key_exists('spiele_in_spielerstatistik', $columns)){
|
||||
$query = "ALTER TABLE `#__sportsmanager_teamspiel_modus`"
|
||||
. "\n ADD `spiele_in_spielerstatistik` INT(4) NOT NULL DEFAULT '0' AFTER `heimtausch`;";
|
||||
$db->setQuery($query);
|
||||
if (!$db->execute()) {
|
||||
die($db->stderr(true));
|
||||
}
|
||||
}
|
||||
|
||||
$columns = $db->getTableColumns('#__sportsmanager_bestenliste_punkte');
|
||||
if (!array_key_exists('team_id', $columns)){
|
||||
$query = "ALTER TABLE `#__sportsmanager_bestenliste_punkte`"
|
||||
. "\n ADD `team_id` INT(11) NULL DEFAULT NULL AFTER `spieler_2_id`;";
|
||||
$db->setQuery($query);
|
||||
if (!$db->execute()) {
|
||||
die($db->stderr(true));
|
||||
}
|
||||
}
|
||||
|
||||
$spielerstatistik_aktualisieren = true;
|
||||
|
||||
$query = "UPDATE #__sportsmanager_einstellungen"
|
||||
. "\n SET wert = '120'"
|
||||
. "\n SET wert = '121'"
|
||||
. "\n WHERE name = 'datenbank_version'";
|
||||
$db->setQuery($query);
|
||||
if (!$db->execute()) {
|
||||
|
||||
@@ -1274,7 +1274,28 @@ return new class () implements InstallerScriptInterface
|
||||
$db->setQuery( $query );
|
||||
if (!$db->execute()) { die($db->stderr(true)); }
|
||||
|
||||
$query = "INSERT IGNORE #__sportsmanager_einstellungen SET name = 'datenbank_version', wert = '120';";
|
||||
$query = "INSERT IGNORE #__sportsmanager_einstellungen SET name = 'datenbank_version', wert = '121';";
|
||||
$db->setQuery( $query );
|
||||
if (!$db->execute()) { die($db->stderr(true)); }
|
||||
|
||||
$query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_sync_log` ("
|
||||
. "\n `sync_id` INT(11) NOT NULL AUTO_INCREMENT,"
|
||||
. "\n `sync_timestamp` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,"
|
||||
. "\n `sync_direction` ENUM('push', 'receive') NOT NULL,"
|
||||
. "\n `sync_trigger` ENUM('manual', 'cron', 'api') NOT NULL,"
|
||||
. "\n `sync_status` ENUM('success', 'error') NOT NULL,"
|
||||
. "\n `spieler_count` INT(11) DEFAULT 0,"
|
||||
. "\n `spieler_updated` INT(11) DEFAULT 0,"
|
||||
. "\n `spieler_added` INT(11) DEFAULT 0,"
|
||||
. "\n `message` TEXT,"
|
||||
. "\n `details` TEXT,"
|
||||
. "\n PRIMARY KEY (`sync_id`),"
|
||||
. "\n INDEX `idx_timestamp` (`sync_timestamp`)"
|
||||
. "\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;";
|
||||
$db->setQuery( $query );
|
||||
if (!$db->execute()) { die($db->stderr(true)); }
|
||||
|
||||
$query = "INSERT IGNORE #__sportsmanager_einstellungen SET name = 'dtfb_sync_url', wert = '';";
|
||||
$db->setQuery( $query );
|
||||
if (!$db->execute()) { die($db->stderr(true)); }
|
||||
|
||||
|
||||
Reference in New Issue
Block a user