Cat
domain specific language? чем плохое?
да тем что diesel это не dsl
Dmitry
я просто не вижу это в доке
Ivan
часто обновляешься? у меня уже давно прыгает: https://asciinema.org/a/3fpFJjpqbms60ArnX5UDz38GK (см в фулскрине, чтобы было видно команды)
Ну мб давно не пробовал, да. Я сидел на стабильном рлс, но, наверное, имеет больше смысла сидеть на найтли рлс
Денис
я на найтли сижу, ага, rls-preview то бишь
Ivan
rls-preview он и там и там одинаково называется
Денис
окееей
Ivan
Как это? rustup component add rls-preview на стабильной ветке
Berkus
ну да
Ivan
Ну это более старый, чем на найтли-ветке
Ivan
Вот я сидел на этом стабильном
Dmitry
а кстати. Почему что бы обновить я должен найти элемент ? 2 запроса вместо 1го
Sergey
Sergey
а кстати. Почему что бы обновить я должен найти элемент ? 2 запроса вместо 1го
это ORM оперируешь объектами, как ты будешь обновлять объект, которого нет?
Cat
это ORM оперируешь объектами, как ты будешь обновлять объект, которого нет?
задать критерии, по которым матчатся объекты, и сразу это отдавать update
Sergey
задать критерии, по которым матчатся объекты, и сразу это отдавать update
объект в любом случае придется создать. и тогда это будет datamapper, а дизель вроде как AR
Cat
(не разбираюсь в терминологии, но) крритерии так-то должно быть можно отдать напрямую (не уверен, что в дизеле так можно, так что можно закрывать тред)
Sergey
use self::schema::имя схемы::dsl::сама таблица ? так ?
гайд почитай http://diesel.rs/guides/schema-in-depth/
Dmitry
воу. А круто. Я начинаю вкуривать
Sergey
сразу бы прочел
Dmitry
еще меня смущает вот такие модели. Что все вкуче пишут ?
Berkus
сразу бы прочел
он дурак что ли. вот бы сейчас начинать с документации.
Dmitry
он дурак что ли. вот бы сейчас начинать с документации.
ahahahah тут дело в том что куча инфы. Парралеллно стараюсь
Dmitry
Dmitry
есть сама модель структура для ввода сруктура для апдейта структура для формы из апдейта так пишут ? Или я люто сделал ?
Dmitry
хотя последние 2 совместить вышло
Vladimir
есть сама модель структура для ввода сруктура для апдейта структура для формы из апдейта так пишут ? Или я люто сделал ?
ну поидее если тебе айдишка не нужна, то можешь обойтись одной структурой? Но я не шарю в дизеле, просто фантазирую
Berkus
так даже в доках дизелевских пишут
Dmitry
Dmitry
во. Даже до такого вышло сократить
𝙽𝚒𝚌𝚔
А в Расте нет библиотеки для работы с бд уровня аналогичного https://scalikejdbc.org ? // insert initial data Seq("Alice", "Bob", "Chris") foreach { name => sql"insert into members (name, created_at) values (${name}, current_timestamp)".update.apply() } Простой как дверь, без магии и тормозов. И типобезопасный.
𝙽𝚒𝚌𝚔
Или Дизель как раз такой, а я плохо читал документацию?
Oleg
скалайк, тоже мне уровень
Ignat
я думал, скалисты по Slick угорают
Oleg
я думал, скалисты по Slick угорают
Только старые или глупые
𝙽𝚒𝚌𝚔
скалайк, тоже мне уровень
Очень хорошая библиотека. Назови лучше, если есть?
Nikita
Да на скале лучше вообще не писать видимо
Ignat
лучше вообще не программировать, какие тут могут быть сомнения
Антон
Αλεχ
так не лучше ли?)
Αλεχ
похоже на го
Members - это DbSet<Member>, так что не похоже
Oleg
Но в редких случаях я бы лучше quill взял какой
Αλεχ
Та же идеология, синтаксис только немного другой. Норм.
идеология другая, ты не хуяришь строковый SQL руками
𝙽𝚒𝚌𝚔
идеология другая, ты не хуяришь строковый SQL руками
Здесь не строковый, здесь интерполяция.
Αλεχ
"insert into members (name, created_at) values (${name}, current_timestamp)"
Αλεχ
это строка
Αλεχ
пусть ты в нее хуяришь
𝙽𝚒𝚌𝚔
Есть и linq-like DSL, но я поработав и с тем, и с тем предпочитаю sql интерполяцию.
Oleg
это строка
Эта строка в компайл тайме превращается в деревья. Если ошибся в синтаксисе - узнаешь в компайл-тайме
𝙽𝚒𝚌𝚔
"хуярить"
Oleg
В quill ты даже узнаешь, если ошибся в типах или именах полей
Αλεχ
а как он определяет диалект SQL?
Oleg
а как он определяет диалект SQL?
Для каждого свой модуль
Αλεχ
Для каждого свой модуль
sql это разве элемент модуля?
Αλεχ
я думал это кейворд
𝙽𝚒𝚌𝚔
это макрос
Oleg
Нет такого кейворда в скале
Nikita
Здравствуйте, это чат по расту?
Αλεχ
понятно
Αλεχ
ну, неплохо
Oleg
Это метод, который берёт кусочки строк и параметры нужных типов, может быть реализован просто, а может быть как макрос
Oleg
Соответственно, в расте вроде тайплевельные калькулейшоны сравнительно в моде
Oleg
Логично было бы чот такое же
Oleg
Но либы пишут скалахейтеры питонисты, поэтому они становятся вот как та сверху
𝙽𝚒𝚌𝚔
Я бы в идеале хотел написать SQL с плейсхолдерами, а на уровне раста это была бы лямбда соответствующего типа. Вот это была бы идеальная либа для БД.
Αλεχ
ну дизель должен уметь
Αλεχ
мне его продавали прям серьезно
Oleg
А он не синхронный разве?
Αλεχ
синхронный
Αλεχ
но на акторах это норм вроде