Самый простой способ начать работу с БД

Поделиться
HTML-код
  • Опубликовано: 15 апр 2024
  • Разбираемся с подключением базы данных к NextJS приложению на примере использовния SQLite и Prisma. Добавляем серверные экшны с запросами к БД.
    Стартовый проект github.com/michey85/next-pris...
    Итоговый проект github.com/michey85/next-pris...
    Мои курсы по вебу с купонами:
    ✅ mishanep.com/
    📢 Поддержка канала:
    / mishanep
    www.tinkoff.ru/rm/nepomnyasch...
    paypal.me/mishanep
  • НаукаНаука

Комментарии • 59

  • @berlits2476
    @berlits2476 2 месяца назад +21

    Вот что отличает Михаила от других русскоязычных блогеров по вебразработке: Михаил не ограничивается контентом для новичком. На его канале можно найти как гайды для начинающих, так и для более продвинутых пользователей. Даже по прошествии нескольких лет работы, возвращаюсь к каналу Михаила и почти всегда нахожу то, что мне нужно. Так же подача материала одна из комфортнейших. Спасибо Михаилу за такой труд ❤

    • @sour5786
      @sour5786 2 месяца назад

      здесь нет контента для продвинутых. В основном хорошо прожёванная документация - но и на этом спасибо.
      если ты про данное видео, то здесь ни блокировок, ни индексов, ни даже основ которые проходят в универе нет.

    • @berlits2476
      @berlits2476 2 месяца назад +1

      @@sour5786 да, я согласен. Думаю, всегда настаёт момент, что материала на ютьюбе нет нужного, и приходится лезть в документацию

  • @maratfaizer
    @maratfaizer Месяц назад

    Спасибо за видео! Для меня оно было очень полезным: с его помощью я переписал свой pet-проект (FE - Next.js + BE - Nest.js + Postgres). Плюс был полезен пример с seed: с его помощью мне было просто перенести данные в новые таблицы

  • @den_ph
    @den_ph 2 месяца назад

    Михаил, спасибо за ваш труд! Как всегда лаконично, понятно и с пользой.

  • @FrontNinja
    @FrontNinja 2 месяца назад +2

    Ставлю лайк авансом, потому что Михаил делает годноту, посмотрю попозже

  • @FoldyH3ro
    @FoldyH3ro 2 месяца назад

    Благодарю Михаила за ролик заранее 😊

  • @johnsnow5005
    @johnsnow5005 2 месяца назад

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

  • @dimualdos
    @dimualdos 2 месяца назад

    Всё, как всегда, очень понятно

  • @user-iw7wr5yk1d
    @user-iw7wr5yk1d 2 месяца назад

    спасибо Михаил всегда жду твои новые видео

  • @tirthadeva_yoga
    @tirthadeva_yoga 2 месяца назад

    О, Миша, респект за видео 🙏🏻 как раз то, что нужно.
    Будем изучать 👨🏻‍💻

    • @tirthadeva_yoga
      @tirthadeva_yoga 2 месяца назад

      Кстати, с sqllite3 уже работал, когда делал телеграмм бота на питоне.

  • @user-yo7mw6oj4p
    @user-yo7mw6oj4p 2 месяца назад

    Спасибо. интересный урок

  • @NovikovEugene13
    @NovikovEugene13 2 месяца назад

    Вау!!!! Очень-очень интересно

  • @easy-e6161
    @easy-e6161 Месяц назад

    Если есть возможность сделать ролик с БД, как Вы в конце и сказали, с окружением и т п. Так же если есть возможность рассказать, как подходить к разработке приложения, поэтапно что делать лучше в первую очередь. Можно ли написать приложение локально, а потом его перенести в БД и подключить к хосту и стоит ли так делать или нужно сначала БД делать, а потом уже идти дальше. Правильный подход к созданию приложения будет очень интересным, так как есть иногда проблема с чего начать, за что браться в первую очередь, как выбрать БД, как ее правильно написать, как захостить. Так же если есть практика в создании приложения от идеи к рабочему проекту, как правильно подойти к этому, как грамотно развернуть идею в проект. Так же было бы интересно увидеть ролики на тему React Native для android и ios, в последнее время, много спроса на это. Много хочется конечно, понимаю, все равно Спасибо!

  • @TuralCode
    @TuralCode 2 месяца назад +1

    Больше NextJS!

  • @vladimirmuratov2220
    @vladimirmuratov2220 2 месяца назад

    Спасибо за интересное видео. Михаил, а можете рассказать про микросервисы? 🤔

    • @mishanep
      @mishanep  2 месяца назад

      Пока не планирую, но возможно со временем.

  • @true227
    @true227 2 месяца назад +1

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

    • @mishanep
      @mishanep  2 месяца назад +2

      Призма и другие orm обычно медленнее чем прямые запросы. Но разработка быстрее. Поэтому здесь возможны варианты. Мне на практике чаще попадается бэкенд на других языках программирования и задача фронта в лучшем случае поддерживать прослойку между фронтом и бэком, вроде graphql сервера. Нода популярна для serverless архитектур, вроде aws, и там часто есть свои бд вроде dynamodb. Но для стартапов (на начальных этапах) и пет проектов призма хороша.

    • @true227
      @true227 2 месяца назад

      @@mishanep спасибо за ответ. В ЕС даже на позиции джуна надо понимать основы AWS на уровне practitioner?

    • @mishanep
      @mishanep  2 месяца назад +1

      Нет. Полно вакансий без знаний облачных сервисов.

  • @boycovclub
    @boycovclub 2 месяца назад

    Микросервисы) нет это плохо) возвращаемся в монолит) JAVA SERVER PAGE , возврат в начало 2000)

  • @gpsltd.3801
    @gpsltd.3801 2 месяца назад

    Спасибо за видео! До этого работал только с Sequelize. Как раз начинаю новый проект и есть возможность на данном этапе выбрать ORM. Есть ли смысл переходить на Призму в будущих проектах, вместо Sequelize?

    • @mishanep
      @mishanep  2 месяца назад

      Зависит от целей. Если вы не планируете менять тип БД в обозримом будущем, то секвалайз остается отличным решением. Призма - более универсальна.

  • @victormog
    @victormog 2 месяца назад +1

    По-моему, в описании Prisma предлагают делать следующий скрипт в _package.json:_
    "prisma": {
    "seed": "ts-node --transpile-only prisma/seed.ts"
    },
    и запускать его через
    *> npx prisma db seed*
    При таком подходе seed будет срабатывать также при *prisma migrate dev* и *prisma migrate reset*

    • @mishanep
      @mishanep  2 месяца назад

      Чем ts-node принципиально будет лучше предложенного способа в данном случае?

    • @victormog
      @victormog 2 месяца назад

      @@mishanep Основной смысл в названии скрипта в package.json

    • @mishanep
      @mishanep  2 месяца назад

      А как название скрипта связано с npx prisma db seed? Типа prisma cli стучится по имени к npm скрипту? Тогда можно было бы в prisma cli другое название передать. Выглядит странно. Но я в эту сторону не копал.

  • @victormog
    @victormog 2 месяца назад +1

    Я так понял, если не указывать поле *select* при вызове функций Prisma, то возвращаются все поля?

    • @mishanep
      @mishanep  2 месяца назад +1

      В данном случае да. Возможно с другими БД есть особенности.

  • @victormog
    @victormog 2 месяца назад +1

    Не плохо было бы упомянуть "телодвижения" при изменении схемы...

    • @mishanep
      @mishanep  2 месяца назад +1

      В случае с SQLite телодвижения были описаны - это push. Там от вида БД могут свои особенности.

    • @victormog
      @victormog 2 месяца назад

      @@mishanep Я про *migrate*
      Это немного сложнее и функциональнее push, но да, возможно, с SQLite и тут свои особенности...

  • @fokspoks
    @fokspoks 2 месяца назад +1

    всё конечно круто, а деплоить то куда и как? я умею только фронтенд пихать на версели

    • @mishanep
      @mishanep  2 месяца назад

      Простого ответа здесь нет. SQLite верселем не поддерживается :)
      Для верселя можно выбрать другую БД (в документации описан список доступных), и под нее уже разбираться с особенностями деплоя.
      В целом, видео немного о другом - как начать работать с БД. Надо же с чего-то начинать, правда?

  • @artyomtaranenko2267
    @artyomtaranenko2267 2 месяца назад

    Мне нравится drizzle))

    • @mishanep
      @mishanep  2 месяца назад

      Он быстрее/удобнее?

    • @artyomtaranenko2267
      @artyomtaranenko2267 2 месяца назад

      @@mishanep Если верить доке, то да он быстрее. А удобней в том плане, что гораздо привычнее для js-разрабов, можно сочетать с zod, valibot. Синтаксиз призмы мне вообще не нравится, на вкус и цвет.

  • @narekdunama1yan744
    @narekdunama1yan744 2 месяца назад

    Запиши видео про remix run пожалуйста

    • @mishanep
      @mishanep  2 месяца назад +1

      Никогда с ним дела не имел. Начинал знакомиться с Remix, думаю еще вернуться к этой теме.

  • @kolchinanyaa
    @kolchinanyaa 2 месяца назад

    Привет! Можете подсказать по strapi плюс docker? Я разворачиваю strapi через docker и заполняю данными условно какие-нибудь карточки товара. Потом покупаю vps, закидываю туда свои файлы и выполняю команду docker-compose все запускается и работает, но данных которые я заполняла локально нет
    В чем может быть проблема и как ее решить? Есть вариант сразу на vps данные заполнять, но решение такое себе
    Знаю что не по теме видео, но уже долго ищу ответ и не могу найти 😅

    • @mishanep
      @mishanep  2 месяца назад

      Приветствую! У меня немного опыта с докером. Насколько помню, чтобы данные сохранялись, надо добавить хранилище. Возможно вам нужна бд и миграция данных на сервере.

    • @kolchinanyaa
      @kolchinanyaa 2 месяца назад

      @@mishanep спасибо) буду пробовать и дальше искать ответ 🧐

  • @podpalmoi
    @podpalmoi 2 месяца назад

    Макс с редгруп заклеймил некст за фулстековость.

  • @Mike37373
    @Mike37373 2 месяца назад

    Сделайте пожалуйста видео или небольшой курс по react в связке с node js + ScyllaDB

    • @mishanep
      @mishanep  2 месяца назад

      Не слышал прежде про ScyllaDB. Почему именно эта БД?

    • @Mike37373
      @Mike37373 2 месяца назад

      я хочу сделать соц.сеть, сейчас начал делать её в связке с react + node js с mongo db, но в дальнейшем, если она станет популярной, mongo будет медленно работать скорее всего, есть статья об этом, называется - HOW DISCORD STORES TRILLIONS OF MESSAGES, там рассказано, как был устроен дискорд изначально. В дискорде были по очереди - mongo, Cassandra, и ScyllaDB. Сейчас они остановились на ScyllaDB, потому что она самая быстрая @@mishanep

    • @Mike37373
      @Mike37373 2 месяца назад

      я хочу сделать свою соц.сеть, сейчас делаю её в связке - react + node js + mongo, но если она станет популярной, mongo скорее всего будет медленно работать, об этом есть сатья под названием - how discord stores trillions of messages. Изначально в дискорде была mongo, потом они перешли на Cassandra, и в итоге остановились на Scylla, потому что она самая быстрая@@mishanep

    • @Mike37373
      @Mike37373 2 месяца назад

      коментарий не добавляется

    • @mishanep
      @mishanep  2 месяца назад

      Интересная история. Спасибо

  • @boycovclub
    @boycovclub 2 месяца назад

    Короче React стал Laravelem??))

  • @xenopomp6183
    @xenopomp6183 2 месяца назад +1

    Я считаю, что не стоит мешать фронтенд с бекендом, хотя Next.js и позволяет подобное делать сейчас.

  • @boyywnkobe
    @boyywnkobe 29 дней назад

    lets nest course

  • @TheSky5028
    @TheSky5028 2 месяца назад +1

    хватит пропогандировать неправильное использование некста

    • @mishanep
      @mishanep  2 месяца назад

      Может расскажете каким по-вашему будет правильное использование Некста?

    • @TheSky5028
      @TheSky5028 2 месяца назад +1

      @@mishanep явно не писать бекенд на фронтенде

    • @mishanep
      @mishanep  2 месяца назад +1

      Так то же серверная часть, на фронтенд ничего лишнего не улетит.

  • @Disorrder
    @Disorrder Месяц назад

    Не понимаю, когда призма стала самой популярной orm, совершенно не приспособлена под хоть какой-то продакшен просто за чет отсутствия soft delete 🤡 но это не единственная проблема. А так, конечно, начать изучение можно с чего угодно