chore: add migration script for tournament reminder fields

This commit is contained in:
Tim
2025-06-24 13:53:11 +00:00
parent 269af499c8
commit 1e8a7a3ae0
+45
View File
@@ -0,0 +1,45 @@
<?php
// Migration script to add reminder fields to #__sportsmanager_turnier
// Usage: php scripts/migrate_add_reminder_fields.php
use Joomla\CMS\Factory;
if (!defined('_JEXEC')) {
define('_JEXEC', 1);
define('JPATH_BASE', dirname(__DIR__, 6));
require_once JPATH_BASE . '/includes/defines.php';
require_once JPATH_BASE . '/includes/framework.php';
}
function addReminderFieldsToTurnierTable()
{
$db = Factory::getDbo();
$columns = [
'reminder_24h_sent',
'reminder_3d_sent',
'reminder_7d_sent',
];
// Check if columns already exist
$db->setQuery("SHOW COLUMNS FROM #__sportsmanager_turnier");
$existing = array_column($db->loadAssocList(), 'Field');
$alter = [];
if (!in_array('reminder_24h_sent', $existing)) {
$alter[] = 'ADD COLUMN `reminder_24h_sent` DATETIME DEFAULT NULL';
}
if (!in_array('reminder_3d_sent', $existing)) {
$alter[] = 'ADD COLUMN `reminder_3d_sent` DATETIME DEFAULT NULL';
}
if (!in_array('reminder_7d_sent', $existing)) {
$alter[] = 'ADD COLUMN `reminder_7d_sent` DATETIME DEFAULT NULL';
}
if ($alter) {
$query = 'ALTER TABLE #__sportsmanager_turnier ' . implode(', ', $alter);
$db->setQuery($query);
$db->execute();
echo "Migration successful: reminder fields added.\n";
} else {
echo "Migration skipped: fields already exist.\n";
}
}
addReminderFieldsToTurnierTable();