Auf die Schnelle
Vielleicht erkennt
mysql anhand der PK, dass dieser FK keinen Sinn macht.
Ein FK bei User soll auf den PK bei Roles zeigen?
Soll User nur eine Rolle haben können?
Ich denke Du hast bei dem Thema ein paar N:M Beziehungen und brauchst also Zwischentabellen, die das abbilden.