Size: a a a

2020 August 27

Е

Евгений in pro.elixir
V
А нехер А зависеть от DB
А как тогда A будет читать данные из DB?
источник

V

V in pro.elixir
Впрочем, ежели зависимость A от DB - сознательное решение, тогда конвертер из структуры DB в структуру А должен находиться в А
источник

Е

Евгений in pro.elixir
V
Впрочем, ежели зависимость A от DB - сознательное решение, тогда конвертер из структуры DB в структуру А должен находиться в А
Это решение самое первое что в голову приходит, но как-то грустно от него.
источник

V

V in pro.elixir
Евгений
А как тогда A будет читать данные из DB?
https://ru.wikipedia.org/wiki/Трёхуровневая_архитектура
Посмотри вот это в месте где соединяются слой логики (application layer) и слой хранилища данных (persistence layer)
Application layer содержит интерфейсы для Persistence, а Persistence строится по этим интерфейсам.
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Не слушай никого. А должен знать о DB, только в эту сторону. Внутри него (читай А) должна быть функция преобразования
источник

VS

Vladimir Sekisov in pro.elixir
Евгений
Я знаю, но как сделать каст в структуру, если структура неизвестна? Просто накропать мапу с полем __struct__ вручную? Это выглядит как хак, не?
ну вродебы у вас есть тип Foo, вы для него определили
поле типа Bar, все срастется
для Foo, для других нет.
Или там полиморфное поле?
источник

Е

Евгений in pro.elixir
Źmićer Rubinštejn
Не слушай никого. А должен знать о DB, только в эту сторону. Внутри него (читай А) должна быть функция преобразования
а схемки таблиц выносить из DB в A некошерно совсем?
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Евгений
а схемки таблиц выносить из DB в A некошерно совсем?
Зачем?
источник

Е

Евгений in pro.elixir
Vladimir Sekisov
ну вродебы у вас есть тип Foo, вы для него определили
поле типа Bar, все срастется
для Foo, для других нет.
Или там полиморфное поле?
Foo определен в A, а тип пишется в DB?
источник

Е

Евгений in pro.elixir
ах, ладно, виг с ним.
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Бля, есть business entity, а есть persistence entity
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Если все лежит в куче, то похер. Если ты решил делать по умному, то приходится соблюдать правила
источник

VS

Vladimir Sekisov in pro.elixir
в db сконвертируете в тот
тип, который примет db.
У меня вот часто в базе
таймстампы попадаются
в epoch, но в структурах
всегда торчит DateTime,
для чего определен ecto type,
а база его считает integer,
как и положено.
источник

V

V in pro.elixir
Źmićer Rubinštejn
Бля, есть business entity, а есть persistence entity
что за persistence entity?
источник

Е

Евгений in pro.elixir
Źmićer Rubinštejn
Бля, есть business entity, а есть persistence entity
Да, да, именно так. Ладно, видимо самый правильный способ таки сделать конвертер в A
источник

P

Pavel in pro.elixir
V
что за persistence entity?
Repository/Model
источник

P

Pavel in pro.elixir
Есть херня которая знает как сохраняться, есть херня которая держит бизнес-entity логику
источник

V

V in pro.elixir
Pavel
Repository/Model
и с каких пор это называется entity?
источник

P

Pavel in pro.elixir
А в чем проблема если у тебя есть User и UserRepository, называть это business/persistance entity User
источник

IK

Ihor Katkov in pro.elixir
V
и с каких пор это называется entity?
Ddd сленг
источник