Das ist eine Möglichkeit, es zu tun.
Möglicherweise brauchen Sie nicht einmal das Feld current_status als FK; Warum nicht einfach den Wert speichern? Sie könnten sonst in ungerade Zirkelbezüge geraten.
Eine andere Möglichkeit wäre, ein Statusarchiv getrennt von der Projekttabelle zu speichern. Fügen Sie jedes Mal, wenn sich der Status ändert, den aktuellen Status in die Archivtabelle ein und ändern Sie den Wert projects.status.