смешивания логики работы с бд со сторонней логикой в Multi? 
                  
                  
                  
                  
                  
                  Например:
                  
                  
                  Multi.new()
                  
                  
                  |> Multi.run(:user, fn -> Users.find_by(id: user_id) end)
                  
                  
                  |> Multi.run(:update, fn _repo, %{user: user} -> 
                  
                  
                    Users.update(user, changeset) 
                  
                  
                  end)
                  
                  
                  |> Multi.run(:dispose, fn -> Registry.dispose(token) end)
                  
                  
                  |> ...
                  
                  
                  
                  
                  
                  Где Registry не имеет никакого отношения к бд и объекту MyApp.Repo.
                  
                  
                
Открываем доку и там написано Multi is data structure for grouping multiple Repo operations... А в чем идея была засунуть вызов registry внутрь Multi?
но в той же доке написан пример для run/3, где идет манипуляция с файлом
В моем устаревшем мире Multi для транзакций из нескольких операций. Остальное можно собрать через пайп или через with.
Multi лучше with в одном аспекте - он выдает весь контекст на момент сбоя, не только то, что ты захватишь error value
 CENTURIONO🌙
                          
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                      
                      
                        
                          CENTURIONO🌙
                          
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                    
                    
                  Как я понял, манипуляция с файлом для того, чтобы синхронизировать данные с двух хранилищ: бд и файловая система
 CENTURIONO🌙
                          
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                      
                      
                        
                          CENTURIONO🌙
                          
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                    
                    
                  То есть, чтобы отменить действие в бд, если не получиться что-то сделать в бд и наоборот
Обсуждают сегодня