Comencé a utilizar Mercurial para controlar versiones de mis archivos fuente del proyecto Drupal (soy un novato VCS y Mercurial). Sin embargo, la base de datos todavía está "controlada por la versión" utilizando un directorio de archivos .sql.gz con fecha.Uso de ganchos Mercurial para crear/cargar volcados de bases de datos para el control de versiones
Lo que quiero es tener un único archivo de volcado de base de datos en algún lugar dentro de mi repositorio, que se sobrescriba con un volcado actual cuando la base de datos cambie e importado a la base de datos cuando quiera volver a otra versión.
Lo hice manualmente, y funcionó. Pero lo que realmente me gustaría es algo que haga el dumping/carga automáticamente en cada confirmación/actualización. Realmente preferiría que se enganchara a Mercurial antes que ser algo externo como un archivo MAKE que primero abandona la base de datos y luego se compromete, ya que me gusta trabajar con las herramientas de TortoiseHg, y no tengo ganas de tener otro script para ejecutar.
Ahora, parece que algo como un mysql .... < dumpfile.sql
en un gancho update
sería una manera fácil de cargar el volcado de la base de datos después de cada actualización. Pero, ¿qué pasa con el vertido automático?
Hubo un similar question sobre el enlace de precompilación de SVN, y la respuesta aceptada fue que probablemente sea una mala idea. ¿Se aplica a Mercurial? Tal vez otro gancho (prechangegroup
?) Funcionaría?
EDIT:
debo señalar que estoy usando por mí mismo, en mi máquina local. No debe escalar más allá de un solo usuario.
¡Genial! Funciona a través de hg commit muy bien. Pero ... si utilizo tortoisehg, me tengo que comprometer dos veces (una vez para los archivos de origen y una vez más para el volcado de base de datos recién creado) ... ¿Sabrías cómo evitarlo? –
Hum significa que THG restringe los archivos a los archivos que cree que fueron modificados. No conozco a THG lo suficiente como para evitarlo (tal vez pregunten en la lista de correo de THG). – tonfa
Gracias de todos modos. Como mucho, puedo usar la línea de comando para commits. No es tan malo. –