Как создать схему таблицы, которая могла бы использоваться утилитой очистки? - PullRequest
0 голосов
/ 30 августа 2018

В рамках процесса регистрации мое приложение отправляет токен по электронной почте для подтверждения идентификатора электронной почты пользователя. Я хочу сохранить токен в базе данных и получить его позже. Я могу сделать это:

cqlsh:> CREATE TABLE user_authentication_token (
                  id uuid,
                  user_id uuid,
                  email text,
                  expiration_time timestamp,
                  is_sign_up boolean
                  PRIMARY KEY((id,user_id,email,expiration_time))) WITH COMMENT = 'table is used to store the tokens generated by the application to confirm email ids or to reset passwords.'.

Я хочу создать утилиту очистки, чтобы можно было периодически удалять все токены с истекшим сроком для оптимизации базы данных. Я предполагаю, что запрос, чтобы найти все просроченные токены, мог бы быть чем-то в строках where partition key is less than now().

Есть ли способ, которым я мог бы создать единую схему, которая позволяла бы запрашивать таблицу, используя либо id,user_id,email,expiration_time, чтобы найти один токен, либо просто expiration_time, чтобы найти все токены с expiration_time меньше now()?

В идеале я бы предпочел не создавать отдельную таблицу.

...