Fórum dilema de imagens no banco #415000
04/04/2012
0
Fazendo várias pesquisas na net, vi que o pessoal prefere armazenar o caminho de uma imagem no Banco e a imagem, propriamente dita, gravada numa pasta.
Sendo assim, vem então um dilema:
Se estou num formulário com várias imagens listadas do banco, ao clicar no botão de excluir, dou um delete no banco e apago a imagem. Mas e se o usuário abortar o procedimento?
O rollback é dado no Banco de dados, mas a imagem, já foi pro saco.
O mesmo se dá ao adicionar novas imagens. Se abortado, a inserção no Banco é cancelada, porém a imagem fica na pasta perdida, sem registro no BD.
Alguém tem alguma idéia de como contornar isso?
Valeu.
Daniel Bressanin
Curtir tópico
+ 0Posts
04/04/2012
Joel Rodrigues
Gostei + 0
04/04/2012
Daniel Bressanin
Essa tabela de imagens é uma tabela filho. Preciso usar transação e dar possibilidade de Rollback. A idéia de executar a ação com a imagens depois do applyupdates me complica. No formulário em questão tenho mais 4 tabelas filho.
Gostei + 0
06/04/2012
Juliano Santana
Cara eu particularmente concordo com o Joel. A operação de deletar o arquivo da imagem só deveria ser feito depois da confirmacao de exclusao do registro no banco. Se o cara deletou e se arrependeu, vai ter que recadastrar novamente, mas... se esta realmente seria uma situacao necessária pra voce eu faria o seguinte:
- Criaria uma tabela de log das atividades de incluir e deletar que foram realizadas no decorrer do dia
- Criaria uma thread que seria executada uma vez por dia, digamos no final do dia. a qual iria tipo commit as tranzacoes do dia... por exemplo: o usuario deleta um registro do banco de dados como voce falou. O registro é passado para um status tipo pendente para excluir, daí ele desaparece da tabela do usuario mas nao oficialmente do banco. Se ele decidir fazer um rollback, o sistema simplesmente reativa o registro, caso contrario, no final do dia, quando a thread for executada, estes registros serao deletados definitivamente.
Esta seria uma situacao um tanto grotesca mas que diante de sua necessidade, acho que ajudariam.
espero que ter ajudado
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)