SQLAlchemy: Database connection, raw SQL queries with engine #2

Научимся подключаться к Базе данных через engine синхронно и асинхронно, напишем простой SELECT запрос.
Освой backend разработку на Python с НУЛЯ до выхода в продакшн за 3 месяца: clck.ru/35mSun
🚨 Продажи открыты только до 31 мая 2024 года! 🚨
Прочитать отзывы к курсу можно на Stepik: clck.ru/38ZdhZ
Все вопросы по SQLAlchemy обсуждаем в телеграм сообществе: t.me/python_community_rus
Мой телеграм канал о жизни разработчика: t.me/artemshumeiko
Полезные материалы для бэкендера в моем телеграм боте: t.me/ArtemShumeikoBot?start=eXQ
Репозиторий на Github с кодом из видео: t.me/artemshumeiko/28
Поддержать меня и получить ранний доступ к видео можно здесь: boosty.to/artemshumeiko
0:00 - Обзор проекта
1:59 - Адрес для подключения к БД (синхронный и асинхронный)
3:04 - Создание engine (движка)
7:33 - Выполняем запрос через engine
11:03 - Извлекаем ответ БД из итератора Алхимии
14:33 - Асинхронный движок и запрос

Пікірлер: 49

  • @artemshumeiko
    @artemshumeiko8 ай бұрын

    Освой backend разработку на FastAPI с НУЛЯ до выхода в продакшн за 3 месяца: clck.ru/35mSun *🚨 Продажи открыты только до 31 мая 2024 года! 🚨* Прочитать отзывы к курсу можно на Stepik: clck.ru/38ZdhZ Пишу про лайфхаки при поиске работы, рынок труда и способы развития разработчиков в TG канале - подписывайся: t.me/artemshumeiko Вступай в Python-сообщество (здесь можно задать любой вопрос): t.me/python_community_rus

  • @deez_gainz
    @deez_gainz7 ай бұрын

    Скорость объяснения нравится, достаточно деталей чтобы понять суть и нет цели просто быстро быстро показать как все запустить на коленке (для этого у нас ГПТ уже есть), спасибо!

  • @user-qp8hg4ds2b
    @user-qp8hg4ds2b4 ай бұрын

    Замечательный урок, спасибо Артем!

  • @artemshumeiko

    @artemshumeiko

    3 ай бұрын

    Спасибо! Рад, что видео оказалось полезным

  • @user-oc5sd1jw4n
    @user-oc5sd1jw4n8 ай бұрын

    Спасибо за урок, всё получилось, ждём продолжения!

  • @7IdE
    @7IdE5 ай бұрын

    Шикарный байт на подписку - прям вообще топ. Поэтому пришлось сделать не только красную кнопку серой, но и серую кнопку со счетчиком сделал черной, увеличив счетчик. :D Ну а объяснения как всегда топовые.

  • @user-im7if6ps3z
    @user-im7if6ps3z8 ай бұрын

    Ой спасибо, добрый человек, как раз вовремя, нужно подучить алхимию))

  • @user-ew7xt7dv5k
    @user-ew7xt7dv5k8 ай бұрын

    Прекрасный курс ожидается!

  • @user-gd4en4ot3u
    @user-gd4en4ot3u5 ай бұрын

    блин проблема на проблеме, какой драйвер для Майскл асинхронный?

  • @PEPPA_CHAN
    @PEPPA_CHANАй бұрын

    Впервые вижу конструкцию (переменная)= (res=) Что это значит?

  • @user-wh7hm2lx7t
    @user-wh7hm2lx7t8 ай бұрын

    Спасибо за видео) Не планируется ли в будущем видео про FastAPI + elasticsearch ?))

  • @w1ntexx281
    @w1ntexx2812 ай бұрын

    спасибо

  • @silverguard3638
    @silverguard36388 ай бұрын

    О мой отзыв о курсе вставил в видео))) В рамках курса планируется ли еще какой то проект по FastAPI? Например что то более масштабное чем то, что идет в курсе? Своего рода финальный аккорд который скомпилирует все то что мы изучили в курсе + какие то дополнительные фишки?

  • @artemshumeiko

    @artemshumeiko

    8 ай бұрын

    Да, через несколько уроков мы добавим FastAPI к нашему приложению и посмотрим, как отдавать ответы Алхимии

  • @silverguard3638

    @silverguard3638

    8 ай бұрын

    @@artemshumeiko Я про тот что на степике) Я его прошел, понравилось. особенно хорошо легло на предыдущий опыт. Будет ли дополнительное развитие проекта в будущем или новый проект в рамках того курса для рассмотрения каких других аспектов FastAPI? Из всего что смотрел твой курс Самый топовый.

  • @artemshumeiko

    @artemshumeiko

    8 ай бұрын

    В курс будут добавляться новые блоки. Они будут развивать и дополнять уже существующий проект бронирования отелей. Новый проект в курсе вряд ли появится. Пока в ближайших планах показать, как развертываются проекты в облаке (типа Yanded Cloud, Selectel)

  • @user-xu5pp7lk5g
    @user-xu5pp7lk5g3 ай бұрын

    Подскажите пожалуйста, как этот url построить в create_engine? какой пароль вводить, хост и т.д? эту инфу в pgAdmin искать, если да, то где?

  • @artemshumeiko

    @artemshumeiko

    3 ай бұрын

    если база postgres поднята локально, то хост localhost, порт 5432, пароль, юзер и название базы по умолчанию postgres

  • @mixig3809
    @mixig38095 ай бұрын

    Доброго всем! Подскажите пожалуйста! Вылезает ошибка подключения к БД (sqlalchemy.exc.OperationalError: (psycopg.OperationalError) connection failed: :1), port 5432 failed: �����: ���� ������ "sa" �� ���������� ) Помогло исправить тем, что сам добавил БД с именем SA. Обязательно всегда нужно самому создавать БД в ручную или же это можно как-то сделать автоматически? Спасибо за ответ!

  • @artemshumeiko

    @artemshumeiko

    5 ай бұрын

    Не, автоматом создание БД не сделать

  • @mixig3809

    @mixig3809

    5 ай бұрын

    @@artemshumeiko грусть печаль! Но почему то, когда на курсе по FastAPI делали первое подключение, то на только что установленном пострескл сработало, и оно само создалось!

  • @dmitriystalin4386

    @dmitriystalin4386

    2 ай бұрын

    @@mixig3809 разбирайся с логинами и паролями, по умолчанию идут DB_HOST=localhost DB_PORT=5432 DB_NAME=postgres DB_USER=postgres DB_PASS= (ты задавал при установке postgres)

  • @user-nj7ty4lu9j
    @user-nj7ty4lu9j2 ай бұрын

    А как вообще вот где url у engine, что там писать так и не понял

  • @hurricane-rus
    @hurricane-rus3 ай бұрын

    Курс начался интересно, жаль, не все моменты проговорены явно, чтобы повторить за автором. О чем надо догадаться, чтобы все заработало в PyCharm, как на видео: 1) Поднять базу Postgres (реквизиты взять из .env-файла в корне проекта) и подключиться к ней. 2) PyCharm автоматом не видит .env-файлы - в меню Edit Configurations надо прописать путь до этого файла. (VSCode этот файл видит сам, ему помогать не надо)

  • @montecristo31

    @montecristo31

    3 ай бұрын

    если незнаешь как поднять базу то для начала тебе стоит изучить sql, а потом уже переходить к orm.

  • @user-lt5un7bz3r
    @user-lt5un7bz3r4 ай бұрын

    Привет! По фаст апи ты был в пучарме, а тут вскод. Почему?) Попробовал его не так давно, вообще не понравился, остался обратно на пучарме

  • @artemshumeiko

    @artemshumeiko

    4 ай бұрын

    Я фуллстак работал почти всегда, поэтому было удобно весь код смотреть сразу в одном проекте (фронт и бэк в соседних вкладках). Сейчас обратно на пучарм перешел - уж слишком он хорош. Единственное, что в бесплатной версии нет поддержки Jupyter notebook, что сильно бесит

  • @montecristo31
    @montecristo315 ай бұрын

    За курс пасиба, а вот за тему дизреспект, все глаза себе выжиг =(

  • @artemshumeiko

    @artemshumeiko

    5 ай бұрын

    спасибо, учту

  • @dmitry1909
    @dmitry19098 ай бұрын

    Поивет. Вопросы можно задавать?

  • @artemshumeiko

    @artemshumeiko

    8 ай бұрын

    конечно! лучше всего в телеграме: t.me/python_community_rus

  • @danilbanan406
    @danilbanan4065 ай бұрын

    тоесть если pool_size = 5 то всего к нашей бд смогут обращаться только 5 человек?

  • @artemshumeiko

    @artemshumeiko

    5 ай бұрын

    нет, подобная настройка (доступ до 5 человек) задается только на уровне субд pool_size определяет кол-во соединений к базе, которая создаст алхимия и будет переиспользовать при обращении к базе, чтобы не создавать новые соединения на каждый запрос

  • @Wildwarrior100
    @Wildwarrior10027 күн бұрын

    Ох уж эти танцы с бубнами!! Нельзя вот так взять и с первого раза подключиться.(тут должна быт та самая картинка)

  • @pavelkozlov9420
    @pavelkozlov94205 ай бұрын

    Привет! Видео огонь, у тебя талант учить) Может кто-то подсказать, почему у меня для подгрузки .env надо костылить вот такую штуку - os.path.join(os.path.dirname(__file__), '..', '.env'), а на видео просто .env. Структура проекта такая-же, IDE - pycharm (он хорошо делает импорты))

  • @artemshumeiko

    @artemshumeiko

    5 ай бұрын

    запускать проект нужно, находясь в корне проекта (то есть там же, где .env файл) через команду по типу python3 src/main.py иначе придется костылить, как вы

  • @xolog1144

    @xolog1144

    3 ай бұрын

    @@artemshumeiko такая же проблема, как и у комментатора. Запускаю из корня в пайчарм, но он не видит .env файл в родительском каталоге UPD: помогло в итоге пометить корень проекта как source директорию UPD 2: я ещё init файлы добавлял во все подпапки

  • @user-rq5gg2uk3s
    @user-rq5gg2uk3s3 ай бұрын

    Лучший русскоязычный курс, после которого уже можно спокойно ориентироваться в документации, еще и алембик. Бесплатно...

  • @artemshumeiko

    @artemshumeiko

    3 ай бұрын

    спасибо большое

  • @user-ql6lk9uq4x
    @user-ql6lk9uq4x3 ай бұрын

    не рабочий код. начиная с 8:58. не находит конфигурационные файлы .env. бред полный.

  • @yal2983
    @yal29838 ай бұрын

    А зачем записывать видео в VS Code, если он даже подсказать импорты нормально не может?

  • @user-zm2fm5mr9d

    @user-zm2fm5mr9d

    2 ай бұрын

    если настроить нормально то может

  • @maxmotors9672
    @maxmotors967227 күн бұрын

    Сколько не бился с запуском database.py все время вылетает ошибка создания БД якобы не передаются значения DB_HOST: str DB_PORT: int DB_USER: str DB_PASS: str DB_NAME: str строка model_config = SettingsConfigDict(env_file='.env') не передает значения этих параметров ( из файла .env , работаю в pycharm, плагины не ставил для работы с .env. Временное решение указать явно экземпляру класса Settings НО после этого возникла совершенно другая ошибка с которой пока я справиться не могу , если есть возможность подскажите решение или что я делал не так ? sqlalchemy.exc.OperationalError: (psycopg.OperationalError) connection failed: :1), port 5432 failed: could not receive data from server: Socket is not connected (0x00002749/10057) could not send SSL negotiation packet: Socket is not connected (0x00002749/10057) (Background on this error at: sqlalche.me/e/20/e3q8)

  • @user-un2wj7si9j
    @user-un2wj7si9j2 ай бұрын

    Несколько часов билась с ошибкой (psycopg.OperationalError) [Errno -2] Name or service not known. Потом решила проверить ссылку с помощью функции make_url из sqlalchemy.engine, сделала print полученной ссылки, и оказалось, что проблема в том, что пароль от postgres содержит символ "@". И программа принимала оставшуюся после @ часть пароля за hostname. 😵‍💫

  • @user-ny9ux9ss8n
    @user-ny9ux9ss8n5 ай бұрын

    Что ты искал в БД ? 😊

  • @artemshumeiko

    @artemshumeiko

    5 ай бұрын

    не понял вопроса

Келесі