Подумывай над тем чтобы переписать огромное количество своих утилит на node.js для объединения в одно большое реатайм ERP приложение. Вот подмал мб кто чего насоветует вплане ORM.
Причем желательно чтобы она позволяла только прописать связи, запросы быстрей и удобней писать напрямую. Хотя если есть ORM умеющая рекурсивные, with, функции, процедуры, прочие кейсы и не поедет крышой от 20+ джоинов, то я бы посмотрел на это.
ЗЫ Кстати а может и не ноду а чейнить другое? )
ЗЫЗЫ хотя знаете, пофигу, напишу свою, это мне время сэкономит. Надо будет поискать инфы о тонкостях проектировки таких штук, давно не делал 8)
Я автор библиотеки pg-promise, созданной именно для того чтобы максимально упростить разработку для Postgres под Node JS, при этом не прибегая ни к каким ORM, а используя родной синтакс Posgres.
Это все конечно неплохо. Но для этих целей не достаточно ли одного Pg-native? Смысл то как раз в том, что множественные связи сложных объектов вынуждают меня либо воспользоваться ORM(ну или свою слепить) либо тратить время на тщательное обдумывание загрузки коллекции объектов и менеджмента этих самых коллекций.
ЗЫ нигде у вас не нашел описание работы с байт-типами а так же именованных prepared
Вячеслав Успенский: именованных prepared поддерживаются на уровне node-postgres. pg-native вам ни начто не хватит, это слишком низкий уровень. pg-promise - это самый высокий уровень, не прибегая к ORM. У каждого ORM свои проблемы, и в первую очередь то что каждый из них налеплен как захотели, т.е. отсутсвие стандартов. pg-promise - это ядро доступа Node-posgres + promise стандарт, и ничего более.
VitalyT: теперь понятно. Честно говоря все это к сожалению не очень интересно, поскольку уровень задач требует своей или готовой ORM в том или ином виде.
Если не ORM, то какие либо инструменты длля общения с бд мне не нужны, тут я быстренько накидываю свое, удобное, ибо почти у всех как вы говорите много недостатков, начиная с того, что мне каждый раз нужно лезть внутрь, вырывать всю эмуляцию параметров и переводить инструмент на использование реальных кешируемых параметризованных запросов.
Интереснейшая штука, однако в документации не нашел как добавить тип данных, ибо оперирую гадостями типо bytea,mvarchar.
Так же не нашел типа данных Array, хотя тут еще вопрос к драйверу PostgeSQL.
Так же не могу найти как ее заставить работать с именованными prepared'ами.
По поводу последнего, если я правильно вас понял, посмотрите это: docs.sequelizejs.com/en/latest/docs/raw-queries
Насчет остального сказать не могу, возможно есть какие-то варианты. Исходники у них открытые, поэтому при желании можно допилить.
Vitaly Sivkov: это я читал. Видимо ему драйвер придецо подмахивать. Есть желание заставить его использовать реальный postgresql prepare ибо это даст существенный выигрыш