Whoops, thank you.
I don’t know why this didn’t occur, I’m already manually specifying join tables everywhere like this :
many_to_many :images, App.Contents.Image,
join_through: "events_images",
join_keys: [event_id: :id, image_id: :id]
many_to_many :workers, App.General.Entity,
join_through: "events_workers",
join_keys: [event_id: :id, entity_id: :id]
many_to_many :partners, App.General.Entity,
join_through: "events_partners",
join_keys: [event_id: :id, entity_id: :id]
So it seems this wouldn’t be a large change.
Edit: it seems this paragraph I missed contains the answer to my original question : https://hexdocs.pm/ecto/Ecto.Schema.html#many_to_many/3-removing-data . I must have misread it, because it’s quite explicit on the subject. This was a case of “writing the problem to others solves it”.
Have a nice day !