Как немножко выгореть на ровном месте (про кодинг)

Взялся в отпуске пописать некоммерческий проект на добровольных началах - телеграм бота. Никогда этого не делал и вообще питон вижу раз в 5 лет. Ну и хрен с ним, нейросети жи есть. Заюзал aiogram 3 + SQLAlchemy 2 ORM + asyncio + sqlite (можно же безболезненно потом переключить БД, правда же?).

Всё шло хорошо. В последний день отпуска начал делать вывод списка событий с пагинацией. Я же теперь дофига умный, знаю что cursor pagination лучше чем limit + offset. Реализовал не без помощи нейросетей всё это. А оно не работает.

И на следующий день ковыряния не работало, и на третий. На четвёртый я выяснил что SQLAlchemy не может сравнивать даты при составлении SQL запроса с подключенным sqlite. Сортировка по умолчанию как-раз нужна была по дате. И похер ему что в модели тип колонки прописан. А вот так может: func.DATETIME(поле1) > func.DATETIME(поле2)

Я вроде как и обрадовался внезапному озарению. Но за три дня ковыряния и десятков версий метода рабочий был просто утерян. И пагинация с курсором прекрасно работала, но только в одну сторону. Поскольку я ещё вышел на работу, заниматься по вечерам всем этим в полную силу я уже не мог.

Сегодня решил завязывать со всеми этими ноу-хау и запилить обыкновенный limit + offset. Но это не точно, потому что я решил не заморачиваться и сделать offset ещё в понедельник, однако я всё ещё здесь и ничего не работает.

Объяснение реализации метода на nodejs например: blog.appsignal.com/2024/05/15/…

Ладно. У меня похоже эта ваша гиперфиксация. Попробую переписать код из статьи на питухончик. 😖🤦‍♂️🤦‍♂️🤦‍♂️

in reply to ХаББыватель

Понимаю что анектоды про программистов это не анекдоты - "понадобился программисту функционал - но так он программист он решил не брать готовый продукт а написать себе фреймфорк с нуля "😁:D:
in reply to ХаББыватель

натурально, ты взял sqlite, который кроме текста и чисел больше ни во что не умеет, и недоволен, что алхимия не смогла из коробки курсорную пагинацию на датах сделать??? Я всё правильно поянл?
in reply to cauf 🇷🇺

Не, неправильно. Алхимия не умеет в курсорную пагинацию безотносительно того, какая СУБД подключена. Тут у меня вопросв нет - ну не умеет и не умеет.

А вот то, что она не поддерживает синтаксис работы с датами, пусть даже в БД это строка, для меня странно. Т.к. ORM "видит" через модель то, как я хочу интерпретировать конкретную колонку и также знает что я прикрутил sqlite, но толку от этого нет.

in reply to ХаББыватель

Ага, значит нейросети еще не скоро заменят программистов!
Кстати, SQLite используется обычно, вроде как, для ускорения разработки MVP. Но есть подозрение, что потом в разы больше тратится времени для переезда на нормальную БД, чем его экономится из-за изначального подключения SQLite.
⇧