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

Еще один вопрос: я значит сделал список структур типа Ecto.Schema и

хочу добавить их за один проход в базу с помощью Repo.insert_all
но вот незадача — insert_all принимает keyword а не объект.
А есть простой способ превратить Ecto.Schema в keyword ?
с учетом того что всякие id и т.п. у меня nil (т.е. null) и должны генерится базой.

19 ответов

28 просмотров

Как ты вызываешь insert_all ?

https://elixirforum.com/t/how-do-i-cast-and-insert-many-items-of-the-same-type-at-once/12619/2 вот так тебе распарсить нужно ченжсеты

Сергей-Loguntsov Автор вопроса
Bogdan
https://elixirforum.com/t/how-do-i-cast-and-insert...

жесть то там какая, но спасибо за наводку. могли бы и в коробку такую функцию завести

Сергей Loguntsov
жесть то там какая, но спасибо за наводку. могли б...

ну сделай рефакторинг. Так да странно что нету в либе самой функции такой

Сергей-Loguntsov Автор вопроса
Bogdan
ну сделай рефакторинг. Так да странно что нету в л...

вник в код .. тупой код .. по сути я так и хочу делать, но надо проще

Сергей Loguntsov
вник в код .. тупой код .. по сути я так и хочу де...

Какие у тебя предложения? Как это реализовать?

хотя я не понял, почему id: nil? 1. Если ты вставляешь новые данные - то постгря сама проставит ID когда будешь делать Repo.insert_all 2. Если у тебя уже есть данные в базе, то когда будешь использовать Repo.insert_all как upsert то он просто обновит то что ты ему скажешь и конфлик зарезолвится. Если конфликта нету то он вставит новую структуру в базу.

Сергей-Loguntsov Автор вопроса
Bogdan
хотя я не понял, почему id: nil? 1. Если ты встав...

у меня это новые данные, мне нужно их вставить пачкой. Порядка 5М ) нагенерить

Сергей Loguntsov
у меня это новые данные, мне нужно их вставить пач...

там нужно батчить будет, за один проход не вставишь 5м пачку там ограничения есть по кол-ву полей, обычно по 3-5к строк можно вставить(я забыл какие там точно ограничения по полям вроде 95к). Но если новые вставляешь то id у тебя нагенерит постгря сама, id nil быть не может, ну точнее у тебя только одна тогда структура же будет в БД, на nil срабатывает конфликт.

Сергей-Loguntsov Автор вопроса
Bogdan
там нужно батчить будет, за один проход не вставиш...

вот я и батчу кучу всякого на всякое ) .. был бы SQL долго не парился бы ) но тут же надо по феншую )

Сергей Loguntsov
вот я и батчу кучу всякого на всякое ) .. был бы S...

если постоянно будешь такие объмы генерить ставь бродвей.

Сергей Loguntsov
вот я и батчу кучу всякого на всякое ) .. был бы S...

да зачем феншуй если у тебя таск однаразовый))как-то запусти и забудь

seed файл

Сергей-Loguntsov Автор вопроса
john conor 
seed файл

нагенерить же надо

Сергей-Loguntsov Автор вопроса
Сергей Loguntsov
а мысль раскрыть ?

можешь в хендлере данных наряду с гетами и инсертами написать функцию seed и генери ты там что хочешь и как хочешь

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
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
Карта сайта