Това е един от начините да го направите.
Може дори да не се нуждаете от полето current_status, за да бъде FK; защо просто не съхраните стойността? В противен случай може да попаднете в странни кръгови препратки.
Друг начин би бил да съхранявате архив на състоянието, отделно от таблицата с проекти. Всеки път, когато състоянието се промени, вмъкнете текущото състояние в архивната таблица и променете стойността на projects.status.