mysql - tables - Cómo sincronizar la base de datos de desarrollo y producción
mysql sync tables between databases (13)
Otro voto para RedGate SQL Compare
http://www.red-gate.com/products/SQL_Compare/index.htm
¡No quisiera vivir sin eso!
Editar: Lo siento, parece que esto es solo para SQL Server. Aún así, si algún usuario de SQL Server tiene la misma pregunta, definitivamente recomendaría esta herramienta.
¿Conoce alguna aplicación para sincronizar dos bases de datos? Durante el desarrollo, a veces se requiere agregar una o dos filas de tablas o una nueva tabla o columna. Por lo general, escribo cada instrucción sql en algún archivo y durante la ruta de carga, sigo esas líneas en mi base de datos de producción (anteriormente la hice una copia de seguridad). Trabajo con bases de datos mySQL y postreSQL.
¿Cuál es su práctica y qué aplicaciones lo ayudan en eso?
Para PostgreSQL puede usar Another PostgreSQL Diff Tool . Puede diferir dos SQL Dumps muy rápido (unos pocos segundos en un db con aproximadamente 300 tablas, 50 vistas y 500 procedimientos almacenados). Para que pueda encontrar sus cambios fácilmente y obtener un diff sql que puede ejecutar.
Desde la página APGDiff:
Otra herramienta diferida de PostgreSQL es la herramienta simple Dif PostgreSQL que es útil para las actualizaciones de esquema. La herramienta compara dos archivos de volcado de esquema y crea un archivo de salida que es (después de algunas modificaciones hechas a mano) adecuado para la actualización del esquema anterior.
Resuelvo esto usando Hibernate . Puede detectar y autocrear tablas, columnas, etc. faltantes.
Siebel (producto de gestión de CRM, ventas, etc.) tiene una herramienta integrada para alinear la base de datos de producción con la de desarrollo (dev2prod).
De lo contrario, debe seguir con los scripts ejecutados manualmente.
Tenga scripts (bajo el control de fuente, por supuesto) que solo agregue al final. Eso combinado con restauraciones regulares de su base de datos de producción a dev debe ser oro. Si eres estricto al respecto, esto funciona muy bien.
De lo contrario, sé que mucha gente usa cosas de redgate para SQLServer.
Navicat tiene un asistente de sincronización de estructuras que maneja esto.
Me gustan mucho las herramientas EMS .
Hay herramientas disponibles para todos los DB populares y tiene la misma experiencia de usuario para cada tipo de base de datos.
Una de las herramientas es el DB Comparer.
Si escribe sus sentencias SQL para su base de datos de desarrollo (que son, imagino, series de instrucciones DDL como CREATE, ALTER y DROP), ¿por qué no hacer un seguimiento de ellas grabándolas en una tabla, con una "versión"? "índice? Entonces podrá:
- rastrear los cambios de su versión
- realice una pequeña rutina que permita la actualización "automática" de su base de datos de producción mediante el envío de las instrucciones grabadas a la base de datos.
SAPO
salvó a muchos asnos varias veces en el pasado. ¿Por qué las personas ejecutan sql sin una estrategia de salida?
el Redgate uno también es bueno.
Usted solicitó una herramienta o una respuesta de aplicación, pero lo que realmente necesita es una respuesta de proceso. El tema subyacente aquí es que debe versionar su base de datos DDL (y DML, cuando sea necesario) y proporcionar scripts de cambios para poder actualizar cualquier versión de su base de datos a una versión superior.
Este conjunto de enlaces proporcionados por Jeff Atwood y escritos por K. Scott Allen explican en detalle cómo debe ser esto, y lo hacen mejor de lo que posiblemente pueda escribir aquí: http://www.codinghorror.com/blog/ 2008/02 / get-your-database-under-version-control.html
Puede agregar algo de automatización a su forma actual de hacer las cosas usando dbDeploy o un script similar. Esto le permitirá realizar un seguimiento de sus cambios de esquema y actualizar / revertir su esquema como mejor le parezca.
Aquí hay un script de Linux bash bash que escribí para sincronizar las bases de datos de Magento ... pero puedes modificarlo fácilmente para otros usos :)
http://markshust.com/2011/09/08/syncing-magento-instance-production-development
DBV - "¡Control de la versión de la base de datos, hecho fácil!" (PHP)