Vamos supor o seguinte:
- 5 desenvolvedores todos trabalhando em laptops
- Cada um desenvolve/depura no emulador de computação do Azure (código) e SQL Server (db) - ambos executados localmente em seus laptops.
eu gostaria de ter
- Esses 5 SQL 'Servers' precisam sincronizar uns com os outros
- BÔNUS: Se os 5 servidores SQL também puderem sincronizar com o banco de dados SQL do Azure (sem produção)!
Como posso configurar isso? Da maneira como estamos configurados, todos os desenvolvedores eventualmente divergem do banco de dados de 'referência' (esquema e dados) e a remoção é um PITA. Espero que existam algumas ferramentas para aliviar esse problema.
Os desenvolvedores devem produzir code , e obviamente há muitas maneiras de sincronizar as alterações de código (controle de origem). Nunca toque no banco de dados. Sempre. Se eles precisarem de alguma alteração no banco de dados, modifique o código que implanta/atualiza o banco de dados. As migrações do Rails são um excelente exemplo de como fazer isso da maneira certa. O Visual Studio tem projetos de banco de dados. Você sempre pode criar sua própria solução personalizada . Ferramentas de comparação pós-fato Eu não gosto muito, mas você pode dizer que é uma opinião pessoal.
Estou tendo um problema semelhante com 8 desenvolvedores e estamos trabalhando por meio do RedGate Data Compare/RedGate Source Control. Analisamos como usá-lo no Prod com a sincronização de vários ambientes e implementações/implantações/reversões com ele. Fora alguns bugs e nuances de configuração, tem sido uma ótima ferramenta. É provavelmente um dos mais amplamente utilizados lá fora, na verdade. Eu também perguntei e geralmente há 2 opções:
-Role o seu próprio. Falei com funcionários que trabalharam em altos cargos no Yahoo/Herbalife e ambos tinham suas próprias ferramentas internas. O do Yahoo foi muito bem desenvolvido, mas o da Herbalife era limitado.
-Use RedGate. A comparação de esquema/dados pode ajudá-lo a sincronizá-los, mas usar o controle de origem no modelo de vários desenvolvedores provavelmente seria o que você está procurando.
Eles têm muitos testes gratuitos e você pode estender seu teste digitando "Preciso de mais tempo" como senha. Os caras do suporte são bons, mas às vezes lentos na resposta, pois estão baseados principalmente no Reino Unido. http://www.red-gate.com/products/sql-development/