Обработка погашенных кодов с истекшим сроком действия в базе данных SQL: методы и примеры

  1. Отметка времени истечения срока действия.
    Одним из распространенных методов является сохранение отметки времени истечения срока действия рядом с погашенным кодом в базе данных. При активации кода вы устанавливаете дату истечения срока действия на будущую дату. При проверке того, истек ли срок действия кода, вы можете сравнить текущую временную метку с временной меткой истечения срока действия.

    Пример на SQL:

    CREATE TABLE RedeemedCodes (
     code VARCHAR(10) PRIMARY KEY,
     redeemed_at TIMESTAMP,
     expires_at TIMESTAMP
    );
  2. Интервал действия:
    Вместо хранения точной отметки времени вы можете хранить продолжительность действия кода. При активации кода вы рассчитываете дату истечения срока действия, добавляя продолжительность к текущей метке времени.

    Пример на SQL:

    CREATE TABLE RedeemedCodes (
     code VARCHAR(10) PRIMARY KEY,
     redeemed_at TIMESTAMP,
     expiration_interval INTERVAL
    );
  3. Флаг состояния.
    Другой подход — использовать флаг состояния, чтобы указать, истек ли срок действия погашенного кода. Вы можете установить для флага значение «активный» при погашении кода и обновить его до «истекшего» после истечения срока его действия.

    Пример на SQL:

    CREATE TABLE RedeemedCodes (
     code VARCHAR(10) PRIMARY KEY,
     redeemed_at TIMESTAMP,
     status VARCHAR(10)
    );
  4. Автоматическая очистка.
    Если у вас частое использование кода, вы можете настроить запланированное задание или задание cron для автоматического удаления кодов с истекшим сроком действия из базы данных через определенные промежутки времени.

    Пример на SQL:

    DELETE FROM RedeemedCodes WHERE expires_at < NOW();