Sync: Inhalte aus origin/main in develop übernommen; .gitea und .github unverändert belassen (falls vorhanden).
All checks were successful
Deploy Workshop-Wahlen (DEV / PROD) / deploy (push) Successful in 13s
All checks were successful
Deploy Workshop-Wahlen (DEV / PROD) / deploy (push) Successful in 13s
This commit is contained in:
33
install.php
33
install.php
@@ -8,12 +8,12 @@ function kc_install_tables() {
|
||||
global $wpdb;
|
||||
$prefix = $wpdb->prefix;
|
||||
$charset_collate = $wpdb->get_charset_collate();
|
||||
|
||||
require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
|
||||
|
||||
// --- Tabellen-Definitionen ---
|
||||
// Tables definitions
|
||||
$tables_sql = [];
|
||||
|
||||
// Wahl-Tabelle
|
||||
$tables_sql[] = "CREATE TABLE {$prefix}kc_wahlen (
|
||||
id bigint(20) unsigned NOT NULL AUTO_INCREMENT,
|
||||
name varchar(191) NOT NULL,
|
||||
@@ -26,7 +26,6 @@ function kc_install_tables() {
|
||||
PRIMARY KEY (id)
|
||||
) $charset_collate";
|
||||
|
||||
// Workshop-Tabelle
|
||||
$tables_sql[] = "CREATE TABLE {$prefix}kc_workshops (
|
||||
id bigint(20) unsigned NOT NULL AUTO_INCREMENT,
|
||||
name varchar(191) NOT NULL,
|
||||
@@ -36,7 +35,6 @@ function kc_install_tables() {
|
||||
PRIMARY KEY (id)
|
||||
) $charset_collate";
|
||||
|
||||
// Teamer-Tabelle
|
||||
$tables_sql[] = "CREATE TABLE {$prefix}kc_teamer (
|
||||
id bigint(20) unsigned NOT NULL AUTO_INCREMENT,
|
||||
vorname varchar(191) DEFAULT NULL,
|
||||
@@ -44,7 +42,6 @@ function kc_install_tables() {
|
||||
PRIMARY KEY (id)
|
||||
) $charset_collate";
|
||||
|
||||
// Teilnehmer-Tabelle
|
||||
$tables_sql[] = "CREATE TABLE {$prefix}kc_teilnehmer (
|
||||
id bigint(20) unsigned NOT NULL AUTO_INCREMENT,
|
||||
vorname varchar(191) DEFAULT NULL,
|
||||
@@ -54,11 +51,10 @@ function kc_install_tables() {
|
||||
wunsch1 bigint(20) unsigned DEFAULT NULL,
|
||||
wunsch2 bigint(20) unsigned DEFAULT NULL,
|
||||
wunsch3 bigint(20) unsigned DEFAULT NULL,
|
||||
deleted tinyint(1) NOT NULL DEFAULT 0,
|
||||
deleted tinyint(1) NOT NULL DEFAULT 0,
|
||||
PRIMARY KEY (id)
|
||||
) $charset_collate";
|
||||
|
||||
// Zuordnungstabelle Wahl <-> Workshops
|
||||
$tables_sql[] = "CREATE TABLE {$prefix}kc_wahl_workshops (
|
||||
id bigint(20) unsigned NOT NULL AUTO_INCREMENT,
|
||||
wahl_id bigint(20) unsigned NOT NULL DEFAULT 0,
|
||||
@@ -67,7 +63,6 @@ function kc_install_tables() {
|
||||
PRIMARY KEY (id)
|
||||
) $charset_collate";
|
||||
|
||||
// Manuelle (Force-)Zuteilungen
|
||||
$tables_sql[] = "CREATE TABLE {$prefix}kc_force_zuteilung (
|
||||
id bigint(20) unsigned NOT NULL AUTO_INCREMENT,
|
||||
teilnehmer_id bigint(20) unsigned NOT NULL DEFAULT 0,
|
||||
@@ -78,7 +73,6 @@ function kc_install_tables() {
|
||||
PRIMARY KEY (id)
|
||||
) $charset_collate";
|
||||
|
||||
// Ergebnis-Zuteilungen
|
||||
$tables_sql[] = "CREATE TABLE {$prefix}kc_zuteilung (
|
||||
id bigint(20) unsigned NOT NULL AUTO_INCREMENT,
|
||||
teilnehmer_id bigint(20) unsigned NOT NULL DEFAULT 0,
|
||||
@@ -90,27 +84,26 @@ function kc_install_tables() {
|
||||
wunsch_rang tinyint DEFAULT NULL,
|
||||
PRIMARY KEY (id)
|
||||
) $charset_collate";
|
||||
|
||||
$tables_sql[] = "CREATE TABLE {$prefix}kc_workshop_teamer (
|
||||
id bigint(20) unsigned NOT NULL AUTO_INCREMENT,
|
||||
workshop_id bigint(20) unsigned DEFAULT NULL,
|
||||
teamer_id bigint(20) unsigned DEFAULT NULL,
|
||||
PRIMARY KEY (id)
|
||||
) $charset_collate";
|
||||
|
||||
// Zuordnung Workshop <-> Teamer
|
||||
$tables_sql[] = "CREATE TABLE {$prefix}kc_workshop_teamer (
|
||||
id bigint(20) unsigned NOT NULL AUTO_INCREMENT,
|
||||
workshop_id bigint(20) unsigned DEFAULT NULL,
|
||||
teamer_id bigint(20) unsigned DEFAULT NULL,
|
||||
PRIMARY KEY (id)
|
||||
) $charset_collate";
|
||||
|
||||
// Tabellen anlegen
|
||||
foreach ($tables_sql as $sql) {
|
||||
dbDelta($sql);
|
||||
}
|
||||
|
||||
// Migration: min_teilnehmer nachziehen, falls bei Update nötig
|
||||
// Post-creation migration guard: ensure min_teilnehmer exists for older installs
|
||||
$col = $wpdb->get_var($wpdb->prepare("SHOW COLUMNS FROM {$prefix}kc_workshops LIKE %s", 'min_teilnehmer'));
|
||||
if (empty($col)) {
|
||||
// try to add the column (no-op on newer installs)
|
||||
$wpdb->query("ALTER TABLE {$prefix}kc_workshops ADD COLUMN min_teilnehmer INT NOT NULL DEFAULT 0");
|
||||
}
|
||||
|
||||
// Plugin-Version speichern
|
||||
// Optionally store plugin version
|
||||
add_option('kc_workshopwahl_db_version', '1.0');
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user