Size: a a a

2020 March 24

F

Faraday in Go-go!
Я думал, у них свой формат сжатия...
источник

ЕО

Евгений Омельченко in Go-go!
Я всё бьюсь с CRUD'ом на go, пытаюсь реализовать repository, но я наткнулся на проблему необходимости транзакционно править пару сущностей. Как вы её решаете?

1. Протекаете абстракцией в репозитории и тащите Tx в интерфейс репы?
2. Тащите Tx в контекст :O
3. Пишите виртуальный репозиторий, который лезет в несколько таблиц одновременно

Или я что-то упускаю?
источник

ЕО

Евгений Омельченко in Go-go!
Daniel Podolsky
Прикинь, да :)
Ну там ещё метаданные какие-то есть, с энтрипоинтом вроде
источник

E

Edgar in Go-go!
О этот вечный вопрос, я столько решений видел и все грустные
источник

E

Edgar in Go-go!
Причем все те варианты, что ты описал
источник

E

Edgar in Go-go!
Тянут за собой те или иные проблемы
источник

E

Edgar in Go-go!
В итоге, самый простой вариант (с точки зрения скорости написания), оказалось занести край бизнес логики в Repo, то есть дать ему понимание, что тут нужно совершить ряд запросов в несколько таблиц
источник

E

Edgar in Go-go!
Но вариант ни капли не проталкиваю, просто это самый простой и легкий вариант в реализации
источник

ЕО

Евгений Омельченко in Go-go!
Edgar
В итоге, самый простой вариант (с точки зрения скорости написания), оказалось занести край бизнес логики в Repo, то есть дать ему понимание, что тут нужно совершить ряд запросов в несколько таблиц
Т.е. 3?
источник

E

Edgar in Go-go!
Да
источник

E

Edgar in Go-go!
могу в личку скинуть на пример
источник

ЕО

Евгений Омельченко in Go-go!
Ну я тоже к этому склоняюсь
источник

ЕО

Евгений Омельченко in Go-go!
Написать код я и сам могу, я проектировать CRUD'ы не умею :)
источник

E

Edgar in Go-go!
просто это самый адекватный вариант, как говорится, из всех зол лучше выбирать меньшее
источник

ВС

Владимир Столяров in Go-go!
Евгений Омельченко
Я всё бьюсь с CRUD'ом на go, пытаюсь реализовать repository, но я наткнулся на проблему необходимости транзакционно править пару сущностей. Как вы её решаете?

1. Протекаете абстракцией в репозитории и тащите Tx в интерфейс репы?
2. Тащите Tx в контекст :O
3. Пишите виртуальный репозиторий, который лезет в несколько таблиц одновременно

Или я что-то упускаю?
Пробовал все три способа, имхо 3 самый адекватный выходит, все более-менее явно остается
источник

ЕО

Евгений Омельченко in Go-go!
На самом деле я ещё рассматривал вариант "к хренам всё денормализовать", но очень это дело не люблю я
источник

DP

Daniel Podolsky in Go-go!
Евгений Омельченко
Ну там ещё метаданные какие-то есть, с энтрипоинтом вроде
А?!

Там просто классы, раскиданные по директориям
источник

ЕО

Евгений Омельченко in Go-go!
Daniel Podolsky
А?!

Там просто классы, раскиданные по директориям
MANIFEST.MF же, META-INF
источник

DP

Daniel Podolsky in Go-go!
Тоже просто файлик
источник

ЕО

Евгений Омельченко in Go-go!
Ну это да, я просто к тому, что это не просто набор классов, но ещё и всякое разное
источник