Bon, j'ai rechangé au final...
J'ai finalement changé de structure de table, pour créer une table "event_type VARCHAR; event_options JSON; event_date TIMESTAMP"
Du coup, dans le type d'event, j'insère une string-magique, type "gvt:fleet has arrived" et dans la colonne JSON, j'ai stocké non seulement l'id de la flotte et de sa destination (dans cet exemple), mais aussi le nom de cette flotte et le nom de la destination (nom de la planète ou de l'étoile).
Ainsi, dans le formattage PHP de la page des évènements, je récupère le type & ses options, et en fonction du type d'event, j'affiche un message différent dans lequel je peux avoir le nom de la flotte/planète/étoile (même si elles n'existent plus vu qu'elles sont freezées dans le json) tout en permettant d'avoir un lien (vu que j'ai l'id) clickable pour voir cette flotte/planète/étoile. Si jamais elles n'existent plus, tant pis, le lien débouchera sur une 404 mais le joueur devrait, de toute façon, voir dans la suite des évènements que "la flotte XX a été détruite" ou "la planète YY a été détruite" etc
Le seul "inconvénient", c'est que j'ai alors pas mal de string "magiques": une pour le type d'event, et une pour chaque clef de l'objet JSON stocké, contenant les infos de l'event... Mais je pense que c'est gérable (car restreint aux events) et en un sens, c'est pas plus mal d'avoir ces string magiques (faire 1 classe/event ou un truc du genre, c'est beaucoup beaucoup trop verbeux vu le nombre d'évènement que je peux avoir... j'ai même pas une première release et j'ai déjà bien 15 events différents)
J'ai finalement changé de structure de table, pour créer une table "event_type VARCHAR; event_options JSON; event_date TIMESTAMP"
Du coup, dans le type d'event, j'insère une string-magique, type "gvt:fleet has arrived" et dans la colonne JSON, j'ai stocké non seulement l'id de la flotte et de sa destination (dans cet exemple), mais aussi le nom de cette flotte et le nom de la destination (nom de la planète ou de l'étoile).
Ainsi, dans le formattage PHP de la page des évènements, je récupère le type & ses options, et en fonction du type d'event, j'affiche un message différent dans lequel je peux avoir le nom de la flotte/planète/étoile (même si elles n'existent plus vu qu'elles sont freezées dans le json) tout en permettant d'avoir un lien (vu que j'ai l'id) clickable pour voir cette flotte/planète/étoile. Si jamais elles n'existent plus, tant pis, le lien débouchera sur une 404 mais le joueur devrait, de toute façon, voir dans la suite des évènements que "la flotte XX a été détruite" ou "la planète YY a été détruite" etc
Le seul "inconvénient", c'est que j'ai alors pas mal de string "magiques": une pour le type d'event, et une pour chaque clef de l'objet JSON stocké, contenant les infos de l'event... Mais je pense que c'est gérable (car restreint aux events) et en un sens, c'est pas plus mal d'avoir ces string magiques (faire 1 classe/event ou un truc du genre, c'est beaucoup beaucoup trop verbeux vu le nombre d'évènement que je peux avoir... j'ai même pas une première release et j'ai déjà bien 15 events différents)