Dmitry
В чем баги?
запросы видел?
Sergey
В чем баги?
Он же отношения между моделями превращает в ад
Sergey
Некоторые запросы по одной таблице внезапно становятся с джойнами
Eugene
http://docs.sequelizejs.com/manual/tutorial/querying.html
Ну это не совсем то Так я могу просто сам генерить объект и передавать в метод
Sergey
Покажи пример своего кода
Eugene
Покажи пример своего кода
Я только ушёл с работы Короче я наделал кучу конечных методов под каждый случай Но, очевидно, нужно генерить квери раньше и передавать в метод, общающийся с базой И секвалайз как то не очень для этого вроде
Dmitry
В кнексе э?
я юзал. кнекс говно. с плагинов елоквент еще можно адевкатно запрос сделать, но он конченный выходит
Dmitry
поиграй. и посмотри
V
Странно, хотя по чесноку красота запросов и их оптимизация в проекте мало волнует, но то что дебажил выглядело приемлимо
Sergey
Смотря для чего :)
Красота == оптимизация
Sergey
Почти
V
Я к тому, что в нашем юзкейсе оптимизация запросов стоит на предпоследнем месте :)
Dmitry
Смотря для чего :)
для меня нормальное апи для орм это как в елоквент ларавель. И вот был плагин он позволял такое сотворить. Но запросы просто пиздец были. И + баги. Тупо рили баги
Eugene
Так Максимально абстрактный вопрос Как правильно с точки зрения архитектуры, масштабируемости и универсальности не привязываясь к коду и ОРМ ходить в базу? Как я понимаю между сервисом и репозиторием должен быть слой кверибилдер, который делает очевидно, что, и сформировавшийся запрос передаётся уже в метод репозитория Так или не так хотя бы?
V
Странно ничего нет, все отрабатывает за приемлимое время
Dmitry
ну не зря же я отказаося D
Dmitry
хотя перепробовал кучу. Как нить даже скину и еще потестю
V
в консоли видишь запросы?
Даже не смотрю, смысла в этом нет и времени тоже
Dmitry
Eugene
Eugene
Да или нет просто
V
От запросов зависит же тоже, что они могут в одном двух джоинах намутить
Vint
Sequelize говно, knex говно... Это по анамнезу чатика. А может просту руки из жопы? Да, золотой кнопки в работе с БД нет. Но, видать, люди ещё говна не видели, раз на эти вещи плюются, причём без примеров. Эти штуки можно было бы сделать лучше, да, особенно первого. Но ведь open source же - возьми да помоги.
Vint
Шта
А лично тебе не шта, тебе data mapping нужен как паттерн. Кидай его в отдельный слой и твори там что хочешь.
Vint
то есть в рубях нормально сделали а тут руки из жопы?
Там Японцы в корнях, даже не сравнивай. Ну, и при твоей персональной любви к руби (точнее, конкретно к рельсам), сложно что-либо противопоставить. Всё так. Нода ещё очень молода в этом плане, а 80% (подставь своё число) разрабов - фронтенд, кто до сих пор между express/koa мечется, дальше ещё ничего не двинулось.
Sergey
вон sequelize хорошую планку задал
Дмитрий
А как принято в mysql из ноды ходить?
Дмитрий
npmjs.com/sequelize
Так, это orm, а если я хочу руками запросы писать?
Дмитрий
npmjs.com/mysql2 но зачем тебе это?
Спасибо. Хз зачем у нас проект на PHP написан, думаем начать на ноде писать
Vint
так надо просто начинать разработку и пилить нормальный орм/билдер а не ныть, что всё говно
Ну, в целом да, но только под нормальным каждый понимает своё, а многие старички (тот же sqlz совсем не молод по рамкам Ноды) начинали хоть как-то, лишь бы облегчить жизнь.
Sergey
не надо тащить фреймворки в ноду
Vint
Спасибо. Хз зачем у нас проект на PHP написан, думаем начать на ноде писать
В php тоже "руками" ходите? Тогда лучше ctrl+a del, чем пытаться переходить. Т.е. начинать с нуля, обдумав все баги. И да, mysql2 модуль, а не просто mysql.
Дмитрий
без фреймворка хотите писать?
Какие фреиворки? У нас зада прочая отдать конфиг из бд да переслать запрос с фронтенда в джаву и обратно
Sergey
Да, руками
так себе идея
Sergey
лучше уж переучиться на нормальную архитектуру
Vint
простите, не пользовался mysql уже лет 5
Лет 8 в руки не брал. Но почему-то в курсе)
Sergey
вообще с пхп на ноду переписать с сохранением архитектуры не получится а то получится высер вроде jii
Дмитрий
так себе идея
Я согласен. Но переписывать не разу не вариант. Поэтому хочется постепенно перейти
Sergey
архитектура катастрофически разная
Eugene
🤔иногда дешевле переписать
Дмитрий
архитектура катастрофически разная
Какая разница на чём написано api?
Sergey
Какая разница на чём написано api?
ну если вы не шарите в разработке на ноде, то скоро ощутите разницу и скорее всего вернетесь на пхп, со словами "нода говно"
Vint
Да, руками
Не вариант. Натворите фигни на Ноде, которую потом тоже придётся переписывать. Т.е. симбиоза не выйдет, если пытаться подстроиться под текущее на php. Всё возможно, в идеале. Но поддержка симбиозза потом выйдет дороже, чем постепенно переписать. Впрочем, тут куча неизвестных, поэтому такие советы.
Дмитрий
Sergey
async/await, генераторы?
Дмитрий
async/await, генераторы?
Генераторы не юзал, а async await всё время использую
Sergey
TDD, DataMapper, ActiveRecord ?
Дмитрий
Какие-то слишком умные слова пошли, до TDD пока не дошли, просто тесты пишем
Sergey
Какие-то слишком умные слова пошли, до TDD пока не дошли, просто тесты пишем
ну тогда бегите изучать несколько всем известных паттернов полностью забивайте на архитектуру в пхп проекте и пишите как нормальные люди новую часть апи на ноде
KlonD90
Он же отношения между моделями превращает в ад
Модель это история про ну очень какой-то простой запрос, а так если пишешь настоящие запросы то уже далеко не до моделей. И бедность объектного подхода встает скорее поперед глотки, а пользоваться sequelize вообще противопоказано - решение будет состоять из адского ада ели работающего. Все таки если хочется получить более-менее гибкий sql knex ну гораздо мощнее sequelize и решает другие задачи никак не связанные с моделями.
Dmytro
Самое наилучшую ORM что видел - ActiveRecord в Ruby on Rails
Dmytro
Запросы красивейшие(если использовать joins, a не includes)
Dmytro
И такое можно вытворить что жесть