Stap 0 - Belangrijk: laat stableKey in mmc_teams juist staan
In jouw mmc_teams.csv staat stableKey al als kolom (nu leeg). Die is perfect om “dit is hetzelfde team over meerdere seizoenen” te onthouden.
- Team
uid= unieke rij (seizoen-snapshot) - Team
stableKey= “team-identiteit over seizoenen” (bijv.stableKey = uid van vorig seizoen)
Stap 1 - Maak een nieuw seizoen (handmatig)
Stap 2 - Maak poules voor aangemaakte seizoen met bijbehorende ID
Je mmc_seasons.csv laat zien dat Voorjaar 2026 al bestaat met id = 4.
Draai dit in phpMyAdmin (SQL tab):
-- Nieuwe seizoen ID
SET @newSeasonId := 4;
-- Maak poules A-D aan als ze nog niet bestaan
INSERT INTO mmc_poules (seasonId, name, dateCreated, dateUpdated, uid)
SELECT @newSeasonId, p.name, NOW(), NOW(), UUID()
FROM (
SELECT 'A' AS name UNION ALL
SELECT 'B' UNION ALL
SELECT 'C' UNION ALL
SELECT 'D'
) p
LEFT JOIN mmc_poules existing
ON existing.seasonId = @newSeasonId AND existing.name = p.name
WHERE existing.id IS NULL;Stap 3 - Kopieer alle teams van vorig seizoen → nieuw seizoen
We nemen aan dat je vorige seizoen Najaar 2025 = seasonId = 2 (zoals in je CSV).
SET @oldSeasonId := 2;
SET @newSeasonId := 4;
INSERT INTO mmc_teams (
seasonId,
pouleId,
name,
shortName,
stableKey,
captainName,
captainEmail,
captainPhone,
dateCreated,
dateUpdated,
uid
)
SELECT
@newSeasonId,
np.id AS newPouleId,
t.name,
t.shortName,
t.stableKey,
t.captainName,
t.captainEmail,
t.captainPhone,
NOW(), NOW(),
UUID()
FROM mmc_teams t
JOIN mmc_poules op ON op.id = t.pouleId
JOIN mmc_poules np ON np.seasonId = @newSeasonId AND np.name = op.name
WHERE t.seasonId = @oldSeasonId;Stap 4 - Kopieer alle spelers mee naar de nieuwe teamId’s
Omdat mmc_players aan teamId hangt, moeten spelers mee dupliceren en naar de nieuwe teams wijzen.
Dit doen we door teams te matchen op stableKey + shortName (werkt super in jouw data).
SET @oldSeasonId := 2;
SET @newSeasonId := 4;
INSERT INTO mmc_players (
teamId,
name,
bondsnummer,
isCaptain,
stableKey,
dateCreated,
dateUpdated,
uid
)
SELECT
tNew.id AS newTeamId, -- ✅ link naar nieuwe team snapshot
p.name,
p.bondsnummer,
p.isCaptain,
p.stableKey, -- ✅ behoud speler-identiteit over seizoenen
NOW(), NOW(),
UUID() -- ✅ nieuwe snapshot uid
FROM mmc_players p
JOIN mmc_teams tOld
ON tOld.id = p.teamId
AND tOld.seasonId = @oldSeasonId
JOIN mmc_teams tNew
ON tNew.seasonId = @newSeasonId
AND tNew.stableKey = tOld.stableKey
AND tNew.shortName = tOld.shortName;