Vous utilisez un modèle appelé Associations polymorphes, et non, il n'y a aucun moyen de le faire et d'utiliser des clés étrangères pour appliquer l'intégrité référentielle.
Je vous suggère de créer un tableau commun qui a_points
, b_points
, et c_points
référence. Ensuite, vos paires de points peuvent référencer cette table commune.
a_points -->
b_points --> common_points <-- point_pairs
c_points -->
En d'autres termes, la façon de faire fonctionner les associations polymorphes est d'inverser le sens de la référence.