Size: a a a

2021 April 21

ML

Maksim Lapshin in pro.elixir
Я пошел апгрейдить маттермост, пришлось базу руками править. Оказывается в голанге это нормальная практика
источник

ML

Maksim Lapshin in pro.elixir
Так что можно порадоваться наличию в эрланговской экосистеме приличного orm с хорошими миграциями
источник

a

arikai in pro.elixir
И внезапно оказывается, что наличие метапрограммирования и возможность что-то скриптовать – не так уж и плохо 🤷
источник

P

Pavel in pro.elixir
Там с миграциями есть 2-3 тулзы, которые на коленке и через сраку. Есть gorm но это отдельный вид ада
источник

P

Pavel in pro.elixir
Golang в плане SQL и ORM - это запредельный вид топора. А все потому, что дженерики же нинужны, метапрограмирование - это для оьезъян, тру вей - это кодогенерация
источник

B

Bogdan in pro.elixir
from(u in User, update: [push: [tags: "cool”]])


Есть ли опция чтобы пушились только уникальные значения в array?
источник

ML

Maksim Lapshin in pro.elixir
я не знаю что там происходит. Go — один из популярнейших языков современности, но когда мне на эрланге понадобилось ходить в постгрес, я в одно рыло написал простейший шмоток кода, который делал миграции и вещи типа find_by_proplist/update_by_proplist

Вышло прямо скажем примитивно, но блин, рабоче.

Когда я увидел, что там вокруг Go, сначало стало дурновато, а вот когда при обновлении корп чата, оно мне сказало:

«прости друг, но я покорраптила базу при миграции и теперь она в непочинябельном состоянии»

возник вопрос: а чего они там вообще делают? Даже до базы жисончики не в состоянии донести?
источник

DR

Dmitry Russ (Aleksan... in pro.elixir
В Elixir-е, если миграция не получилась, то она в транзакции и откатывается назад.

А ещё можно откатиться на любое количество миграций назад, потом вперёд. Но чтобы это сделать, нужно писать миграции откатываемыми. Т.е. К примеру - удаляешь какое-то поле - нужно добавить к нему спеки, с которыми это поле создано, чтобы работало.
источник

ML

Maksim Lapshin in pro.elixir
ну, это понятно, с рельс скопировано.

Транзакции — базовая вещь, если пользуешься нормальной БД, т.е. постгресом или чем-то ещё, что умеет заворачивать DDL в транзакции.

А не уметь завернуть DDL в транзакцию — это совсем сырость
источник

D

Dmitry in pro.elixir
Феникс делали по рельсам, а потом рельсы стали делать по фениксу(ассет пайплайн, каналы...)
источник

D

Dmitry in pro.elixir
Вот что значит сила добра)))
источник

AL

Anton Lapshin in pro.elixir
Asset pipeline в рельсе вроде ещё до феникса появился емнип
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Так то в фениксе вообще нету assets pipeline
источник

AL

Anton Lapshin in pro.elixir
И то верно
источник

D

Dmitry in pro.elixir
Не появился, а стал таким, как в фениксе. Убрали sprockets
источник

AL

Anton Lapshin in pro.elixir
Так это не столько из-за феникса кмк, просто вебпак нормальный прикрутили из коробки чтоб с фронтом по-нормальному работать
источник

D

Dmitry in pro.elixir
И да, это не пайплайн, я ошибся, а assets management
источник

D

Dmitry in pro.elixir
Но сначала это появилось в фениксе
источник

VS

Vladimir Sekisov in pro.elixir
не встречал, можно так, наверное:
set: [tags: fragment("array_prepend(?, array_remove(?, ?))", ^v, u.tags, ^v)]

или

where: ^v != any(u.tags)
источник

AC

Andrew Cherabaev in pro.elixir
А что было в оригинале? Мне почему-то кажется что Swift  и objective-c
источник