169 похожих чатов

Привет! Ни у кого не было необходимости создавать таблицы с динамическими

field-ами и кверить их с помощью ecto?
Насколько я понял, что в такой ситуации, field-ы в ecto захардкодены быть atom-ами, что вызовет проблему того, что пользователь может создать миллион разных field-ов в разных таблицах и тогда случится crash.

Вопросы:
1) кто-то сталкивался с этим и знает, можно ли это решить с ecto?
2) поднимал ли кто-то такой вопрос раньше?
3) или ecto не подходит тогда для решения такой задачи в принципе?

Концептуально, можно посмотреть на airtable

14 ответов

16 просмотров

Можно кверить без схемы и селектить мапу.

Ecto.Query умеет только с атомами как с именами полей. Ecto.Schema тоже с именами полей атомами Можно вызывать EctoSQL с голыми кверями строками

Мне кажется, никто не запрещает сделать кастомную структуру, которая будет Ecto.Queryable Но вообще, я не понимаю как можно делать запросы по таблицам, которые задаются в рантайме, но для которых неизвестны имена колонок в компайле

Lama Lover
Мне кажется, никто не запрещает сделать кастомную ...

Если ты схему загружаешь в рантайме, делая rest-обёртку для базы, например.

Андрей
Если ты схему загружаешь в рантайме, делая rest-об...

Во-первых, postgrest и аналоги Во-вторых, схемы тут всё равно присутствуют. Только они не на сервере, а где-то на клиенте

Lama Lover
Во-первых, postgrest и аналоги Во-вторых, схемы ту...

Я знаю про postgrest. Я просто предложил кейс, где такая задача может возникнуть.

Dmitry-A.R. Автор вопроса
Lama Lover
Мне кажется, никто не запрещает сделать кастомную ...

Легко, когда твой пользователь пишет и эти запросы.

Dmitry-A.R. Автор вопроса
Lama Lover
Мне кажется, никто не запрещает сделать кастомную ...

Да хотя бы select * from... limit 10 - чтобы посмотреть(показать пользователю) что там вообще есть. Даже это мне ecto не даёт сделать.

Lama Lover
Ну да, потому что Ecto это ORM

Ты ему скармливаешь "объекты", а он тебе даёт связь этих объектов с сущностями из базы

Dmitry A.R.
Легко, когда твой пользователь пишет и эти запросы...

Ну вот тогда нужно Ecto.Queryable своими руками Но я не понимаю зачем тут Ecto вообще нужен

Dmitry-A.R. Автор вопроса
Lama Lover
Ну вот тогда нужно Ecto.Queryable своими руками Н...

1) пользователь может делать не всё, а только то, что система ему позволяет 2) менять базу данных, где могут храниться его данные (как раз ecto - кейс ecto)

Ну а как jsonb их нельзя заливать? И динамическую query к этой колонке/таблице?

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта