Это для небольшого личного проекта по микроуправлению. По сути, я храню задачи в базе данных SQLite3, которая выглядит следующим образом:
id INTEGER PRIMARY KEY AUTOINCREMENT
label TEXT
deadline INTEGER
Таким образом, у каждой задачи есть срок выполнения (крайний срок), который сохраняется как метка времени Unix. Пока все хорошо, я могу делать такие записи, как «завтра: посещение бабушки», и создается новый ряд с «посещением бабушки» в качестве метки и завтра трансформируется в Unix, время для крайнего срока.
Теперь я хотел бы ввести новый тип задач: рутины - задачи, повторяющиеся по схеме времени, например, «каждый день: чистая кухня». Как такие задачи могут быть сохранены или смоделированы?
На данный момент я думаю, что в случае задачи, которую нужно выполнять каждый день, генерировать в моей таблице новые строки с одинаковой меткой и полем крайнего срока, увеличенным на один день. В этом случае мне нужно установить предел в будущем. Например, если я создаю процедуру для каждого дня, она создает новую строку для каждого дня оставшегося года.
Есть ли более простой способ сделать это? Я упускаю некоторые очевидные принципы проектирования баз данных?