It would be better to just store an outdate timestamp of the discount like discount_until
.
That way you don't have to set anything.
It is the same as in the age of people. Store the birthdate in the DB, not the age, because the age can change every day.