данный момент их 2 типа) с ad_id, type и expiration_date
Для отображения на сайте необходима активная подписка с type 1, этого я добиваюсь путем inner_joina с учетом того, что дата окончания еще не наступила. Подписка с type 2 опциональная, дает просто дополнительные плюшки (если конкретно, то фиксированную позицию объявления (от топ-1 до топ-15), соот-но в таблице подписок надо хранить еще и это число, которое говорит о купленном порядковом номере
Что мне не нравится:
1) дополнительное поле в таблице, которое нужно для подписки 2 и всегда null у подписки 1
2 типа) необходимость 2 раза джойнить одну и ту же таблицу (сначала inner, потом left для правильной сортировки)
Возможно, подскажете более правильный вариант? Вдруг появится подписка 3 и у нее будет еще какое-то кастомное поле. Может просто добавить JSONB-поле payload или meta и там хранить всякую дополнительную инфу о подписке?
Показали бы Вы ещё \d каждой таблицы и запрос, а то так не совсем понятно, IMHO.
Текстом. Зачем Вы пересказываете то, что можно получить и скопировать из psql?!
У меня под рукой нет этого проекта, поэтому приходится так, увы
Обсуждают сегодня