fix: remove ignore flag from adding licence fields, implement proper check for fields

This commit is contained in:
Marvin Flock
2025-04-23 17:48:42 +02:00
parent 10032fd6a9
commit c7e9f664e2
@@ -5209,16 +5209,36 @@ function updateDatabase(): void
}
if ($datenbank_version < 102) {
$query = "ALTER IGNORE TABLE #__sportsmanager_rangliste ADD lizenzen varchar(30) DEFAULT NULL AFTER streichergebnisse";
$query = $db->getQuery(true)
->select('COUNT(*)')
->from('INFORMATION_SCHEMA.COLUMNS')
->where('TABLE_NAME = ' . $db->quote($db->replacePrefix('#__sportsmanager_rangliste')))
->where('COLUMN_NAME = ' . $db->quote('lizenzen'));
$db->setQuery($query);
if (!$db->execute()) {
die($db->stderr(true));
$exists = (bool)$db->loadResult();
if (!$exists) {
$query = "ALTER TABLE #__sportsmanager_rangliste ADD lizenzen varchar(30) DEFAULT NULL AFTER streichergebnisse";
$db->setQuery($query);
if (!$db->execute()) {
die($db->stderr(true));
}
}
$query = "ALTER IGNORE TABLE #__sportsmanager_spieler ADD lizenz varchar(30) DEFAULT NULL AFTER lizenznr";
$query = $db->getQuery(true)
->select('COUNT(*)')
->from('INFORMATION_SCHEMA.COLUMNS')
->where('TABLE_NAME = ' . $db->quote($db->replacePrefix('#__sportsmanager_spieler')))
->where('COLUMN_NAME = ' . $db->quote('lizenz'));
$db->setQuery($query);
if (!$db->execute()) {
die($db->stderr(true));
$exists = (bool)$db->loadResult();
if (!$exists) {
$query = "ALTER TABLE #__sportsmanager_spieler ADD lizenz varchar(30) DEFAULT NULL AFTER lizenznr";
$db->setQuery($query);
if (!$db->execute()) {
die($db->stderr(true));
}
}
$query = "UPDATE #__sportsmanager_einstellungen"