2011-05-19 11 views
6

Tengo un sitio drupal y estoy almacenando la base de código en un repositorio de git. Esto parece estar funcionando bien, pero también estoy haciendo cambios en la base de datos. Estoy considerando realizar descargas periódicas de la base de datos y comprometerme con git. Tenía algunas preguntas sobre esto.Almacenamiento de Drupal SQL en Git

  1. Si sobrescribe el archivo, se GIT creo que es un archivo nuevo o va a reconocer que es una versión alterada del mismo archivo.

  2. Será este potentialy hacer mi repo enorme (la base de datos es de 16 MB)

  3. ¿Puedo comprimir este archivo? o este lío Git arriba ... la versión comprimida es solo 3mb

  4. ¿Alguna otra sugerencia?

+2

es posible que desee revisar la Drupal Respuestas sitio beta. Cuantas más personas lo usen, mayor será la probabilidad de que sea pasado Beta: http://drupal.stackexchange.com –

+0

Radical, gracias Matt – user379468

Respuesta

5

Si tiene espacio suficiente, un volcado no comprimido en el control de fuente es bastante útil porque puede compare using a diff program qué filas se agregaron/modificaron/eliminaron.

+1

Solo como una actualización, lo intenté, agregué el volcado de sql a git (sobreescribiendo el mismo archivo) y luego ingresé el nuevo archivo. No pareció aumentar mucho el tamaño del .git, así que supongo que realmente ve los cambios ... No obstante, no creo que esto funcione si el volcado fue g-zip – user379468

0

Para mis aplicaciones de bases de datos, almaceno guiones de instrucciones DDL (como CREATE TABLE) en algún tipo de sistema de control de versiones. Estos scripts a veces también incluyen datos estáticos de "semilla". Todos los sistemas de control de versiones que uso son buenos para reconocer las diferencias en estos archivos, y son mucho más pequeños que la base de datos completa con datos.

Para los datos generados dinámicamente, guardo copias de seguridad (por ejemplo, desde mysqldump) en una ubicación adecuada (dependiendo de la importancia de los datos, que pueden incluir copias de seguridad fuera del sitio).

+0

"Para los datos generados dinámicamente, almaceno copias de seguridad (por ejemplo, de mysqldump) en una ubicación adecuada (dependiendo de la importancia de los datos, que pueden incluir copias de seguridad fuera del sitio) ". ... ¿significa eso que está tomando múltiples instantáneas de los datos y los está guardando todos, o sobrescribiendo el mismo archivo y usando Git para versionarlos? – user379468

+0

@usuario no está seguro de lo que significa su comentario ... –

+0

Lo que quiso decir es: "¿está el volcado siempre en el mismo archivo, o crea un nuevo archivo en la carpeta cada vez?". – wildpeaks

1

Otra solución es utilizar el módulo de características que se supone que captura la configuración de drupal en el código. Almacena estos datos capturados como un módulo de características que puede poner en control de versiones.

0

1) Es todo texto, por lo que GIT lo verá como lo haría con cualquier otro archivo.

2) No, debido a lo anterior, debe agregar 16mb al repositorio (o menos, debido a la propia compresión de GIT), no agregará un nuevo archivo cada vez, solo los cambios, por lo que el repositorio cambiará por el tamaño de las adiciones al repositorio

3) no, o GIT no será capaz de ver las diferencias - GIT hace su propia compresión de todos modos

Cuestiones relacionadas