sistema de banco de dados e controle de versão

votos
3

Eu sou o trabalho no projeto com framework Django e sistema de controle de versão uso para sincronizar o meu código com outros povos. Mas eu não sei como organizar o trabalho com banco de dados. No Django, qualquer povo, trabalhou no projeto, pode muda modelos Django, e dizer 'syncdb' para sincronizar objetos do modelo com db. Mas outras pessoas não fazer em relação a isso muda, e é revisão do código não pode obras. Por favor, diga-me algumas maneiras de resolver este problema (talvez, diferente db ou alguma outra coisa).

Obrigado e desculpe a minha :) Inglês

Publicado 11/10/2008 em 16:37
fonte usuário
Em outras línguas...                            


7 respostas

votos
4

Você tem que realmente falar com as pessoas em seu projeto.

Se alguém muda qualquer modelo de banco de dados, eles têm de realmente dizer todos os outros sobre a mudança. Este não é um problema Django.

Pense em qualquer banco de dados SQL - sem Django. Quando a queda de DBA é uma mesa, eles têm que dizer a todos que eles mudaram o banco de dados. Caso contrário, todos os programas que usam o intervalo mesa.

A definição do modelo é especial, e quem pode mudar isso deve dizer a todos os outros.

Respondeu 11/10/2008 em 16:40
fonte usuário

votos
3

Você deve ter um backup inicial do DB sob controle verison. E depois que você tem que colocar todos os scripts de modificação no mesmo controle de versão. Algo assim:

/ Banco de dados (no repositório)

  • backup inicial
  • Script1_date.sql
  • Script2_date.sql

...

Respondeu 11/10/2008 em 16:46
fonte usuário

votos
1

tome também uma olhada deltasql. você pode testá-lo em http://www.gpu-grid.net/deltasql (nome de usuário: admin senha: testdbsync) e baixar a partir http://sourceforge.net/projects/deltasql ciao :-)

Respondeu 29/01/2009 em 14:58
fonte usuário

votos
1

Na verdade, olhando para as alternativas, eu sou muitas vezes surpreendido que ninguém menciona Sul

http://south.aeracode.org/

Parece ser o melhor aplicativo de migração para fora lá ... talvez eu estou faltando alguma coisa importante, mas acho que é muito bom trabalhar com ...

Respondeu 12/01/2009 em 06:46
fonte usuário

votos
1

Estou curioso ... o que acontece se você colocar o seu MDF e arquivos LDF sob controle de origem? Claro, se suas tabelas estão vazias e você só tem a estrutura do banco de dados ...

Respondeu 16/10/2008 em 16:44
fonte usuário

votos
1

Eu não tenho certeza de entender o seu problema; mas lembre-se que em Django, syncdb só cria novas tabelas. Não altera uma tabela existente.

Se, por exemplo, você simplesmente adicionar um novo campo, um syncdb não vai fazer nada.

Respondeu 11/10/2008 em 19:38
fonte usuário

votos
0

Parece que você quer migrações.

Como um exemplo: http://www.aswmc.com/dbmigration/

Você também pode querer adicionar testes de unidade funcional que realmente testam que o esquema é como esperado, dessa forma, quando os testes falharem, você pode ver que é uma alteração de esquema, e auditar se ele pode afetar outras partes do aplicativo. Se isso não acontecer, corrigir o seu teste para ter em conta o novo esquema.

Respondeu 11/10/2008 em 16:41
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more