Bom, quem acompanha o Oragon Architecture ao longo dos anos, mesmo que de forma despretensiosa, em algum momento me questiona sobre algumas decisões tomadas. Vou tentar ser breve para relatar alguns dos problemas e soluções que motivaram minhas decisões. Nesse tópico, vou falar de gestão de base de dados, Code First e Database First.
Esse assunto merecia um post inteiro, mas vou ser breve e tentar resumir em poucos parágrafos.
É comum ver nas empresas aplicações sendo construídas e desligadas, a cada ciclo de troca de diretores e gerentes. A máxima é que as aplicações vão, mas os dados ficam. Dificilmente temos ou o descarte ou a total remodelagem dos dados. Sob essa ótica, em algum momento você vai se deparar com algum cenário em que precisa construir uma nova solução em cima de um banco legado. Na minha carreira dificilmente encontrei cenários diferentes destes. Outra situação comum, é encontrar grandes empresas com regras para criação de aplicações isoladas das regras de criação e gestão de banco de dados. Geralmente empresas contam com alguns DBAs e possuem uma área de banco bem estruturada, no entanto, há muito pensamento arcaico por traz de DBAs e administradores de dados. Geralmente ou hora eu era responsável pela definição do padrão de arquitetura das aplicações ou fazia parte de um time que o fazia. Nos dois casos, o dilema de trabalhar com bases legadas ou de ter uma área que estruturava banco de dados trazia dificuldade para qualquer modelagem que não se baseasse e Database First.
As aplicações vão, mas os dados ficam!
Para suportar melhor esses ambientes, a geração de código, com base em banco, foi um aliado fenomenal. Ao longo dos anos a geração de código foi melhorando e chegamos ao ponto de não precisar de nenhuma intervenção humana no processo. Basta configurar regras e pronto, todo o código nasce a partir de um banco legado. Esse é o motivador para a ênfase em database first. Pode parecer retrógrado, mas se você não está em uma startup, com certeza fará todo o sentido pensar em algo assim.
Grande abraço!
0 comentários