Используйте следующую схему таблицы:
CREATE TABLE all_accounts (
id INTEGER NOT NULL PRIMARY KEY,
premium_expires DATE NOT NULL DEFAULT current_date,
other_attrs,
...
);
Затем создайте представление, которое вы используете для запросов:
CREATE VIEW accounts AS
SELECT
account.*, current_date < account.premium_expires AS is_premium_membership
FROM
account
WHERE
id = ?
Теперь выбор accounts
даст is_premium_membership
атрибут, равный t
, если членство премиум-класса действительно.Нет необходимости в фоновых заданиях.