Хорошо что я решила сначала описать результат а потом уже писать код
Где-то в середине всплыл такой вопрос «а что если...» из-за которого возможно придётся переосмыслить половину архитектуры....
Top-level
Хорошо что я решила сначала описать результат а потом уже писать код 26 comments
Получается, три часа работы в состоянии ьеьеьеьеьеь нужны были лишь для того, чтобы задаться тем самым вопросом «а что если» и в итоге добавить ещё одну сущность и переписать все запросы... Кажется я задаю слишком много вопросов. С другой стороны, вроде логичных...но теперь возникшую сложность надо как-то решать, а я ьеььеьеьеьее.... Теперь селекты станут ещё более многоуровневовые, видимо...мозг просыпайся.... ...и вылез граничный случай, который крайне редкий но если я его проигнорирую то меян будет бесить его возможность аааааааааааааааааа Я не хочу воспроизводить гит в реляционной базе но я не знаю как ещё корректно обойти этот граничный случай... Я потерялась в селектах и группировках и вспомнила о существовании вьюх в SQL У меня смутное ощущение что мне могут помочь оконные функции Как я понимаю, они позволяют нарезать селект на группы без собственно группировки, и потом эти группы можно отдельно друг от друга сортировать, и выбирать то самое максимальное значение что мне нужно Осталось только переделать тестовую базу под новую схему и потестировать.... стоп у меня кажется получился тот же самый group by... Поняв что я уперлась в тупик, я снова задалась вопросом «а что если» Почему я утром была такая бодрая и продуктивная, а щас смотрю на написанное для себя ТЗ как баран на новые ворота, и не могу додумать, что мне нужно поменять чтобы пробросить в API кусочек ещё одной сущности... Обидно, что как только я вроде бы подебила мозг, работать отказался ноутбук... Обидно, что как только я вроде бы подебила и ноутбук и мозг, пришёл РКН и сказал "сегодня без ваергарда" :blobcattableflip: @oreolek это если айпишник белый. Белый там в лучшем случае IPv6. Который не факт что есть на том вайфае на котором я ща сижу @oreolek и через чьи сервера он из-за NAT вытаскивает порты? @mo звучит хрупко. Нужно будет постоянно следить за таймстампами при записи в БД. У меня недавно была возможно похожая ситуация. Я решил записать в таблицу истории статусов два статуса подряд. В одной транзакции. И я не учёл, что запрос на запись использует now в БД. И оно считается на момент коммита транзакции. А все запросы на чтение просто искали max по таймстампу. И в моём случае записей с максимальным таймстампом было две. И бралась первая по порядку, с неактуальным значением статуса. @mrcopperbeard да, но в моем случае таймштампы берутся из гита, и база знает только о тех коммитах которые засветились в CI |
А мозг все ещё в состоянии «ьеьььеьеьье :blobcatgooglymelt:»