Moin Tommy,
du musst den Namen der Tabelle beachten:
Code: Alles auswählen
/* Name der Datenbank-Tabelle (Vorzeichen)
ändern, wenn z.B.: eine Tabelle mit dem Namen: "mai20_kalender" bereits existiert!
(Nach der Installation bitte nicht mehr ändern!) */
$TABLE_PREFIX = "mai20"; // mai20 - Letzte Änderung an der DB-Tabelle: Mai 2020
Es heist ja auch:
CREATE TABLE IF NOT EXISTS `" . $TABLE_PREFIX . "_kalender
Zu Deutsch: Wenn die Tabelle mit dem Namen (mai20_kalender) nicht existiert dann erstelle diese.
Du kannst da aber keine Tabelle aus dem Jahr 2017 nehmen diese Umbenennen und hoffen das, das PHP-Skript damit zurechtkommt.
Du hast bereits Erfahrung mit dem Adminer, dir muss ich das nicht erklären, für alle anderen:
Das ändern der Tabelle funktioniert doch mit
phpMyAdmin oder dem
Adminer spielend einfach.
Erstelle mit dem Adminer zur Sicherung eine Kopie deiner Tabelle:
Die kopierte Tabelle heißt dann:
copy_mai20_kalender
Dann hast du in der Datei: "installation.php" eine Vorlage wie die neue Tabelle auszusehen hat.
Hier am Beispiel mit der Spalte "kategorie":
CREATE TABLE IF NOT EXISTS `" . $TABLE_PREFIX . "_kalender` (
`start` datetime NOT NULL,
`ende` datetime NOT NULL,
`volltag` tinyint(1) NOT NULL DEFAULT 1,
`name` varchar(35) COLLATE utf8mb4_unicode_ci NOT NULL,
`event` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL,
`beschreibung` text COLLATE utf8mb4_unicode_ci NOT NULL,
`ort` varchar(250) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
`prioritaet` tinyint(1) NOT NULL DEFAULT 0,
`wiederholung` tinyint(1) NOT NULL DEFAULT 0,
`benachrichtigung` tinyint(1) NOT NULL DEFAULT 0,
`privat` tinyint(1) NOT NULL DEFAULT 0,
`aufgabe` tinyint(1) NOT NULL DEFAULT 0,
`kategorie` varchar(35) COLLATE
utf8mb4_unicode_ci NOT NULL DEFAULT '',
`gruppe` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '0',
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY
) ENGINE = InnoDB DEFAULT CHARSET=utf8mb4
Und entsprechend dieser Vorlage änderst du die Spalten in der Tabelle:
Sollte etwas nicht funktionieren, löscht du die Tabelle:
mai20_kalender und benennst die Tabelle:
copy_mai20_kalender um in:
mai20_kalender
Nehmen die bereits vorhandenen Tabellen und Einträge denn dabei keinen Schaden?
Die Einträge nehmen keinen Schaden, wenn zum Beispiel in einer Spalte der Datentyp von Varchar zu Date geändert werden soll und deine Spalte enthält nur Buchstaben so wird dies von MySQL nicht angenommen, weil die vorhandenen Datensätze ein falsches Format haben:
Das Programm Adminer
https://www.adminer.org/ ist doch extra dafür gemacht, dass man schnell mal Dinge in der Tabelle ändern kann, ohne da umständlich irgendwelche Komandozeilenbefehle eingeben zu müssen.