2011-03-19 12 views
13

Actualmente estoy desarrollando un sitio web de Drupal con un par de personas en Git; Es importante que este sitio web use la misma base de datos sin la ruta porque cada desarrollador tiene la versión de desarrollo en otro directorio.Drupal en Git, ¿qué hacer con la base de datos?

¿Cómo debo hacerlo?

Quizás debería hacer que Drupal trabaje con SQLite solo en el desarrollo; entonces podríamos agregar el archivo SQLite al repositorio de Git.

+0

¿Quizás podría agregar la base de datos mysql en un servidor externo que sea accesible para todos y abrirlo para aceptar conexiones de internet? Veo que esto podría ser un problema en términos de rendimiento, todo se trata de tu conexión a Internet. – Mescalito

+0

no seguro para que todos tengan acceso a la base de datos. Necesito ver las confirmaciones en la base de datos para decidir si deben incorporarse al proyecto, al igual que el código – Asaf

+0

¿Está buscando realizar un seguimiento de los cambios en la estructura solamente, o estructura + datos? –

Respuesta

14

En lugar de trabajar en la base de datos nivel para almacenar su sitio componentes, utilice el código. Drupal ahora tiene excelentes soportes para exportables para vistas, tipo de contenido, campos, formatos de entrada, etc. con la ayuda del módulo features.

Consulte The Development -> Staging -> Production Workflow Problem in Drupal y la presentación Code driven development: using Features effectively in Drupal 6 and 7.

+0

La respuesta más adecuada, aunque al final acabo de exportar la base de datos con el módulo Backup & Migrate, parece ser trabajando muy bien – Asaf

10

Estoy acostumbrado a Django, donde es muy fácil exportar un "accesorio" (una copia de seguridad) de la base de datos y almacenarlo en un sistema de control de versiones como git. Hace poco estaba buscando hacer esto, pero para WordPress. Mientras lo hacía, me encontré con algunas personas hablando de una herramienta de línea de comandos impresionante para Drupal llamada drush: http://drupal.org/project/drush

Esta herramienta permite hacer cosas increíbles desde la línea de comandos, especialmente cuando se combina con módulos como Copia de seguridad y Migrar : http://drupal.org/project/backup_migrate

Lo básico es que haga una copia de seguridad de la base de datos en un volcado de SQL cuando está empujando/arrastrando hacia/desde el servidor, luego puede restaurar el DB posteriormente. Si algo sale mal, al menos tiene estados de copia de seguridad del DB en git. Esa última parte es realmente una gran característica, creo.

Aquí está un gran artículo sobre la sincronización de los sitios locales/en vivo con drush y git: https://web.archive.org/web/20131231204544/http://www.opc.com.au/web-development/drupal-release-management-drush-and-git

Así es como otro usuario se ocupa de que incluye la base de datos en un repositorio git: http://drupal.org/creating-drupal-test-sites#comment-2130760

El problema aquí es que usted' Tendré que tener cuidado con la sincronización del DB al sitio en vivo. Es fácil y simple que varias personas obtengan la última versión de la base de datos en vivo para realizar pruebas, pero podría ser peligroso volver a poner en producción la versión local de DB de otra persona (pero solo si hay varias personas en el mismo proyecto).

Sólo por curiosidad, he aquí una pregunta similar le pregunté en el sitio de WordPress StackExchange: https://wordpress.stackexchange.com/questions/12239/migrating-data-between-local-and-development-server - Me preguntó (y contestados) una versión más específica de la pregunta aquí: https://wordpress.stackexchange.com/questions/12719/multiple-developers-editors-working-on-a-site-in-progress

Cuestiones relacionadas