Самый простой способ начать работу с БД
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 Наука
Вот что отличает Михаила от других русскоязычных блогеров по вебразработке: Михаил не ограничивается контентом для новичком. На его канале можно найти как гайды для начинающих, так и для более продвинутых пользователей. Даже по прошествии нескольких лет работы, возвращаюсь к каналу Михаила и почти всегда нахожу то, что мне нужно. Так же подача материала одна из комфортнейших. Спасибо Михаилу за такой труд ❤
здесь нет контента для продвинутых. В основном хорошо прожёванная документация - но и на этом спасибо.
если ты про данное видео, то здесь ни блокировок, ни индексов, ни даже основ которые проходят в универе нет.
@@sour5786 да, я согласен. Думаю, всегда настаёт момент, что материала на ютьюбе нет нужного, и приходится лезть в документацию
Спасибо за видео! Для меня оно было очень полезным: с его помощью я переписал свой pet-проект (FE - Next.js + BE - Nest.js + Postgres). Плюс был полезен пример с seed: с его помощью мне было просто перенести данные в новые таблицы
Михаил, спасибо за ваш труд! Как всегда лаконично, понятно и с пользой.
Ставлю лайк авансом, потому что Михаил делает годноту, посмотрю попозже
Благодарю Михаила за ролик заранее 😊
Большое спасибо за идею. На основе этого проекта написал сервак в несколько строк, который запускает next, привязал запуск через spawn процесс ноды по клику на ярлык и получил быстрое решение для прототипирования десктоп приложения вместо тяжелого электрона.
Всё, как всегда, очень понятно
спасибо Михаил всегда жду твои новые видео
О, Миша, респект за видео 🙏🏻 как раз то, что нужно.
Будем изучать 👨🏻💻
Кстати, с sqllite3 уже работал, когда делал телеграмм бота на питоне.
Спасибо. интересный урок
Вау!!!! Очень-очень интересно
Если есть возможность сделать ролик с БД, как Вы в конце и сказали, с окружением и т п. Так же если есть возможность рассказать, как подходить к разработке приложения, поэтапно что делать лучше в первую очередь. Можно ли написать приложение локально, а потом его перенести в БД и подключить к хосту и стоит ли так делать или нужно сначала БД делать, а потом уже идти дальше. Правильный подход к созданию приложения будет очень интересным, так как есть иногда проблема с чего начать, за что браться в первую очередь, как выбрать БД, как ее правильно написать, как захостить. Так же если есть практика в создании приложения от идеи к рабочему проекту, как правильно подойти к этому, как грамотно развернуть идею в проект. Так же было бы интересно увидеть ролики на тему React Native для android и ios, в последнее время, много спроса на это. Много хочется конечно, понимаю, все равно Спасибо!
Больше NextJS!
Спасибо за интересное видео. Михаил, а можете рассказать про микросервисы? 🤔
Пока не планирую, но возможно со временем.
Михаил, спасибо за очередное видео в тему. Подскажите, пожалуйста, а в реальных проектах тоже везде призма и подобные орм используются? Просто запросы напрямую в бд не используются?
Призма и другие orm обычно медленнее чем прямые запросы. Но разработка быстрее. Поэтому здесь возможны варианты. Мне на практике чаще попадается бэкенд на других языках программирования и задача фронта в лучшем случае поддерживать прослойку между фронтом и бэком, вроде graphql сервера. Нода популярна для serverless архитектур, вроде aws, и там часто есть свои бд вроде dynamodb. Но для стартапов (на начальных этапах) и пет проектов призма хороша.
@@mishanep спасибо за ответ. В ЕС даже на позиции джуна надо понимать основы AWS на уровне practitioner?
Нет. Полно вакансий без знаний облачных сервисов.
Микросервисы) нет это плохо) возвращаемся в монолит) JAVA SERVER PAGE , возврат в начало 2000)
Спасибо за видео! До этого работал только с Sequelize. Как раз начинаю новый проект и есть возможность на данном этапе выбрать ORM. Есть ли смысл переходить на Призму в будущих проектах, вместо Sequelize?
Зависит от целей. Если вы не планируете менять тип БД в обозримом будущем, то секвалайз остается отличным решением. Призма - более универсальна.
По-моему, в описании Prisma предлагают делать следующий скрипт в _package.json:_
"prisma": {
"seed": "ts-node --transpile-only prisma/seed.ts"
},
и запускать его через
*> npx prisma db seed*
При таком подходе seed будет срабатывать также при *prisma migrate dev* и *prisma migrate reset*
Чем ts-node принципиально будет лучше предложенного способа в данном случае?
@@mishanep Основной смысл в названии скрипта в package.json
А как название скрипта связано с npx prisma db seed? Типа prisma cli стучится по имени к npm скрипту? Тогда можно было бы в prisma cli другое название передать. Выглядит странно. Но я в эту сторону не копал.
Я так понял, если не указывать поле *select* при вызове функций Prisma, то возвращаются все поля?
В данном случае да. Возможно с другими БД есть особенности.
Не плохо было бы упомянуть "телодвижения" при изменении схемы...
В случае с SQLite телодвижения были описаны - это push. Там от вида БД могут свои особенности.
@@mishanep Я про *migrate*
Это немного сложнее и функциональнее push, но да, возможно, с SQLite и тут свои особенности...
всё конечно круто, а деплоить то куда и как? я умею только фронтенд пихать на версели
Простого ответа здесь нет. SQLite верселем не поддерживается :)
Для верселя можно выбрать другую БД (в документации описан список доступных), и под нее уже разбираться с особенностями деплоя.
В целом, видео немного о другом - как начать работать с БД. Надо же с чего-то начинать, правда?
Мне нравится drizzle))
Он быстрее/удобнее?
@@mishanep Если верить доке, то да он быстрее. А удобней в том плане, что гораздо привычнее для js-разрабов, можно сочетать с zod, valibot. Синтаксиз призмы мне вообще не нравится, на вкус и цвет.
Запиши видео про remix run пожалуйста
Никогда с ним дела не имел. Начинал знакомиться с Remix, думаю еще вернуться к этой теме.
Привет! Можете подсказать по strapi плюс docker? Я разворачиваю strapi через docker и заполняю данными условно какие-нибудь карточки товара. Потом покупаю vps, закидываю туда свои файлы и выполняю команду docker-compose все запускается и работает, но данных которые я заполняла локально нет
В чем может быть проблема и как ее решить? Есть вариант сразу на vps данные заполнять, но решение такое себе
Знаю что не по теме видео, но уже долго ищу ответ и не могу найти 😅
Приветствую! У меня немного опыта с докером. Насколько помню, чтобы данные сохранялись, надо добавить хранилище. Возможно вам нужна бд и миграция данных на сервере.
@@mishanep спасибо) буду пробовать и дальше искать ответ 🧐
Макс с редгруп заклеймил некст за фулстековость.
Сделайте пожалуйста видео или небольшой курс по react в связке с node js + ScyllaDB
Не слышал прежде про ScyllaDB. Почему именно эта БД?
я хочу сделать соц.сеть, сейчас начал делать её в связке с react + node js с mongo db, но в дальнейшем, если она станет популярной, mongo будет медленно работать скорее всего, есть статья об этом, называется - HOW DISCORD STORES TRILLIONS OF MESSAGES, там рассказано, как был устроен дискорд изначально. В дискорде были по очереди - mongo, Cassandra, и ScyllaDB. Сейчас они остановились на ScyllaDB, потому что она самая быстрая @@mishanep
я хочу сделать свою соц.сеть, сейчас делаю её в связке - react + node js + mongo, но если она станет популярной, mongo скорее всего будет медленно работать, об этом есть сатья под названием - how discord stores trillions of messages. Изначально в дискорде была mongo, потом они перешли на Cassandra, и в итоге остановились на Scylla, потому что она самая быстрая@@mishanep
коментарий не добавляется
Интересная история. Спасибо
Короче React стал Laravelem??))
Я считаю, что не стоит мешать фронтенд с бекендом, хотя Next.js и позволяет подобное делать сейчас.
lets nest course
хватит пропогандировать неправильное использование некста
Может расскажете каким по-вашему будет правильное использование Некста?
@@mishanep явно не писать бекенд на фронтенде
Так то же серверная часть, на фронтенд ничего лишнего не улетит.
Не понимаю, когда призма стала самой популярной orm, совершенно не приспособлена под хоть какой-то продакшен просто за чет отсутствия soft delete 🤡 но это не единственная проблема. А так, конечно, начать изучение можно с чего угодно