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;
-- Team rows kopiëren naar nieuw seizoen
-- Belangrijk: stableKey vullen zodat je team-identiteit behoudt.
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,
COALESCE(t.stableKey, t.uid) AS stableKey, -- 1e keer: stableKey = oude uid
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;
-- Spelers kopiëren:
-- Zoek bij elke speler de oude team stableKey + shortName,
-- vind het bijbehorende nieuwe team en gebruik diens id als teamId.
INSERT INTO mmc_players (
teamId, name, bondsnummer, isCaptain,
dateCreated, dateUpdated, uid
)
SELECT
tNew.id AS newTeamId,
p.name,
p.bondsnummer,
p.isCaptain,
NOW(), NOW(), UUID()
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.shortName = tOld.shortName
AND tNew.stableKey = COALESCE(tOld.stableKey, tOld.uid);