Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Atualizando o programa do Windows quando outros usuários fazem alterações?


Como Lucas sugeriu, você pode implementar um sistema estilo 'Push' que sempre que uma entidade é modificada é 'Push' para os outros usuários conectados. Isso pode ser um pouco complexo. Trabalhando com um sistema legado, a forma como lidamos com isso é através de uma coluna 'Change Number', mas na verdade pode ser qualquer coisa que seja atualizada toda vez que o registro for modificado.

Quando um usuário tenta modificar uma entidade, consultamos o banco de dados para bloquear essa entidade onde o 'Change Number' reflete o 'Change Number' que o usuário possui atualmente.

Se o bloqueio for bem-sucedido, o usuário poderá atualizar/excluir a entidade. Quando eles são feitos, eles 'Save/Commit' e 'Change Number' na entidade são aumentados.

Se eles não conseguirem obter o bloqueio de linha e o 'Alterar número' for o mesmo, exibiremos uma mensagem informando que a entidade solicitada está em uso por outro usuário. Se o 'Alterar número' for diferente, a mensagem informa que eles devem atualizar a visualização.