11 lines
310 B
SQL
11 lines
310 B
SQL
-- Keep the database invariant aligned with the application-level hearts guard.
|
|||
|
|
UPDATE users
|
||
|
|
SET hearts = 3,
|
||
|
|
is_locked = true,
|
||
|
|
locked_at = COALESCE(locked_at, now()),
|
||
|
|
hearts_updated_at = now()
|
||
|
|
WHERE hearts > 3;
|
||
|
|
|
||
|
|
ALTER TABLE users
|
||
|
|
ADD CONSTRAINT users_hearts_max CHECK (hearts BETWEEN 0 AND 3);
|