Garantindo a Integridade de Transações no Web2Py
11 de Setembro de 2013, 18:44 - sem comentários aindaComo já afirmei diversas vezes, a DAL do web2py é fantástica. Entretanto, ela tem diversas funcionalidades que não são muito divulgadas. Por exemplo, você sabia que todas as transações de banco que a DAL (ou o próprio framework Web2py) executa, elas são agrupadas em transações? Isso é bom, pois garante a "modularidade" das mudanças de banco e torna possível a "reversão" (rollback) em caso de erro.
Entretanto, quando você manipula o banco diretamente todas as alterações são consideradas como estando dentro de uma mesma transação, e um rollback resultaria na "reversão" de dados que estavam corretos. Complicou? Vamos com calma.
Garantindo a Integridade de Transações no Web2Py é um artigo original de Mind Bending
Garantindo a Integridade de Transações no Web2Py
11 de Setembro de 2013, 15:44 - sem comentários aindaComo já afirmei diversas vezes, a DAL do web2py é fantástica. Entretanto, ela tem diversas funcionalidades que não são muito divulgadas. Por exemplo, você sabia que todas as transações de banco que a DAL (ou o próprio framework Web2py) executa, elas são agrupadas em transações? Isso é bom, pois garante a "modularidade" das mudanças de banco e torna possível a "reversão" (rollback) em caso de erro.
Entretanto, quando você manipula o banco diretamente todas as alterações são consideradas como estando dentro de uma mesma transação, e um rollback resultaria na "reversão" de dados que estavam corretos. Complicou? Vamos com calma.
Garantindo a Integridade de Transações no Web2Py é um artigo original de Mind Bending
Web2py: Abstraindo a DAL Corretamente
6 de Setembro de 2013, 18:12 - sem comentários aindaPor mais que o Web2Py já possua uma camada de abstração para o acesso ao banco de dados, conhecida como DAL, e que ela seja excelente, eu não acho que ele incetiva da forma correta a segmentação e reutilização de códigos. Como eu já mostrei anteriormente aqui é possível implementar um modelo simples que "corrige" esses problemas, entretanto, a forma que apresentei não é a mais elegante de todas, pois ela utiliza a sintaxe de dicionários para controlar o acesso às colunas do banco de dados.
A forma mais Pythonica de controlar este tipo acesso é através de Properties. Mas convenhamos, é extremante exaustivo escrever códigos para getters e setters para cada coluna de cada tabela do banco de dados.
Web2py: Abstraindo a DAL Corretamente é um artigo original de Mind Bending
Web2py: Abstraindo a DAL Corretamente
6 de Setembro de 2013, 15:12 - sem comentários aindaPor mais que o Web2Py já possua uma camada de abstração para o acesso ao banco de dados, conhecida como DAL, e que ela seja excelente, eu não acho que ele incetiva da forma correta a segmentação e reutilização de códigos. Como eu já mostrei anteriormente aqui é possível implementar um modelo simples que "corrige" esses problemas, entretanto, a forma que apresentei não é a mais elegante de todas, pois ela utiliza a sintaxe de dicionários para controlar o acesso às colunas do banco de dados.
A forma mais Pythonica de controlar este tipo acesso é através de Properties. Mas convenhamos, é extremante exaustivo escrever códigos para getters e setters para cada coluna de cada tabela do banco de dados.
Web2py: Abstraindo a DAL Corretamente é um artigo original de Mind Bending
Abstraindo a DAL do Web2Py
4 de Setembro de 2013, 16:26 - sem comentários aindaApesar da DAL do Web2Py ser muito interessante, sua abordagem causa alguns maus hábitos. Além disso, acho a forma de definições de tabelas do Django muito mais maduras.
Pensando nisso comecei a trabalhar em um código que propicia as boas práticas de desenvolvimento em camadas. Como o código definitivo é um pouco complexo, vou apresentar primeiro uma versão simplificada que favorece o entendimento do conceito básico da proposta.
Abstraindo a DAL do Web2Py é um artigo original de Mind Bending