Поиск или прочие операции по пропуску не могут происходить по сценарию.то есть вы нигде не проверяете закончился ли пропуск, не получаете аналитику какого уровня подписки самые распространенные или приносят больше денег, и т.д.? Если нет - можно хранить, если да - выносить в отдельную таблицу и связывать с пользователем по айди.
"Насколько меня будут осуждать коллеги за то, что я использовал JSON в реляционной базе данных?".Если он используется в контексте "текстовое поле, используемое больше как справочное или какие-то мелкие настройки" то и ок. Если это попытка заменить стандартные механизмы реляционности - будут скорее всего больно бить.
Убрать гиф не вариант, в других форматах будет очень большой вес, заранее спасибо!https://web.dev/replace-gifs-with-videos/ заранее пожалуйста.
в свою страну аленью! ))