FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Bases de Datos, control de versiones
Creo que el titulo lo dice todo. Alguien esta usando control de versiones para las bases de datos? Hay alguna herramienta "magica"? O alguna herramienta que ayude en este proceso? O para el que no usa nada "externo", como llevan este control?
Investigando muy rapido parece que hay cosillas por ahi dando vuelta, como las que ofrece Devart aqui Hablando bien claro, lo que seria la bomba para mi es, darle a alguna "herramienta" una estructura de una BD, (o que la extraiga de alguna BD), una BD contra la que compara, y que me genere un diff, osea, un script sql que al ejecutarlo me deje la base al dia O estoy pidiendo demasiado? |
#2
|
||||
|
||||
Facilísimo
Ahora falta que digas qué base de datos usas. IBexpert hace exactamente lo que necesitas. |
#3
|
||||
|
||||
Enserio? Que maravilla. Uso firebird en algún proyecto personal.
El problema es que también uso sqlite (en este lo tengo maso menos resuelto mediante código, pero sirve solo porque es un programa mono usuario y puedo "manosear" la base sin tanto miedo) y también sql server |
#4
|
||||
|
||||
Pues lo que describes suena muy facil. Generar script de BD es algo que es muy comun. Para lo demas usas mercurial/git y sobreescribees el archivo par los diff, o usas una herramienta de diff de forma directa.
__________________
El malabarista. |
#5
|
||||
|
||||
Cita:
Mario eso suena sencillo si. Cualquier herramienta de por ahi para gestionar BD te genera el script que crea la BD que quieras, a partir de su estructura. Ahora, lo que yo digo, como hago para dada una BD llamemosle "instalada", compararla contra la BD "actualizada" y que genere un diff que me deje la "instalada" = "actualizada". Eso seria la bomba. Basicamente podria automatizar la tarea y que no dependa de mi. Sencillamente tendria que dar la orden de disparar mail "nueva version xxx, apreten actualizar" y listo. Admito que no tengo muy estudiado algunos gestores, por ejemplo, IBExpert, que lo he usado para lo mas basico posible. Pero tiene varios menues con muchas opciones que aun no se que existen (como lo que comento Casimiro) Luego para SQLite uso uno super liviano, SQLite Administrator, aunque para cosas tambien muy basicas, como para ejecutar queries rapidamente, o si estoy en pruebas y quiero editar algo Con el que mas "cosas raras" he hecho fue con el de SQL Server de Microsoft, pero que yo sepa no tiene algo como lo que apunto arriba; aunque por supuesto que puede generar scripts de lo que sea, de hecho, te permite configurar muchos aspectos del script resultante El tema de la automatizar la sincronizacion de la BD es lo que me falta para automatizar completamente el proceso de distribucion de mis aplicaciones Última edición por AgustinOrtu fecha: 28-07-2016 a las 20:22:22. |
#6
|
||||
|
||||
Entonces estas es buscando sincronizar las BD? No meramente usar control de versiones para la parte de desarrollo?
Porque sincronizar BD en produccion es todo otro cuento.
__________________
El malabarista. |
#7
|
||||
|
||||
Yo, muy resumidamente, tengo una tabla con un campo que se llama "version".
Según voy añadiendo cambios a la estructura de la base de datos, voy anotándolo en un script, junto con un número. 1 update ..... 2 insert into .... 3 create table .... 4 delete from table where ... 5 etc. Cuando ejecutan el programa, veo qué número de versión es la base de datos y ejecuto todas las sentencias a partir del número que toque. Ejemplo, base de datos con campo versión 4. Ejecutaría a partir de la 5. Básicamente es eso. |
#8
|
||||
|
||||
El ibexpert tiene esta opción:
|
#9
|
||||
|
||||
Cita:
Yo lo que voy haciendo es tener una carpeta "SQL" en el repositorio git y ahi voy tirando todos los script. Luego tambien voy manteniendo un script general que crea la BD (este lo genera SQL Management Studio\IBExpert, etc) el cual actualizo cada tanto o cada vez que hago un release nuevo Cuando uso git a veces me pasa que tengo que "volver en el tiempo", esto es muy facil cambiandose a otra branch y recompilando, o con un reset hard a tal commit. Resulta util en muchos casos. A lo que apunto y que quiza sea super utopico, y de ahi me vino la idea de "control de versiones para BD", es algo similar pero con la base. Osea que sea cuestion de clicks, "poneme la estructura de la base a como estaba el 18/05/2013 en la rev xxxx" similar a como hago con el codigo EDTIO: Casimiro muchas gracias, voy a estudiarlo. Lamentablemente en este momento Firebird no es la que mas me interesa, pero que lo voy a usar muy pronto seguro |
#10
|
||||
|
||||
Cita:
Es más, si tienes el script conjuntamente con el código, se comportará igual, como un fichero más, y podrás ver las diferencias que citas. |
#11
|
||||
|
||||
SI lo que te hace falta es poder visualmente (GUI) hacer eso, entonces busca un cliente de git. Yo uso:
https://www.sourcetreeapp.com/ Tambien hay otros clientes. Especializado en diff este es uno muy bueno: https://www.perforce.com/product/com...and-diff-tools
__________________
El malabarista. |
#12
|
||||
|
||||
Encontre esta utilidad: Open DBDiff que funciona solo con SQL Server (2005+). Es libre (GPL2) y hace su trabajo. Es facil, rapido y efectivo
Simplemente seleccionamos las 2 bases de datos (que pueden estar en dos server distintos, osea, me puedo conectar remoto) ponemos comparar y te muestra tanto en gui como en script las diferencias. Luego hasta tiene un botoncito mas que actualiza todo. Una joya. |
#13
|
||||
|
||||
Creo recordar que sólo está en la versión de pago, no en la personal.
¿Cierto?
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#14
|
||||
|
||||
Yo tengo una versión que se llama "Portable" y trae esa opción. En la web de ellos veo que ya no existe esa versión.
|
#15
|
||||
|
||||
Cita:
No me suena esa versión. ¿Trae opciones de Debug (ejecutar paso a paso)?
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#16
|
||||
|
||||
Sí tiene esa opción. Es una versión de 2009 y aparentemente no tiene registro ni licencia extraña, es solo un ejecutable, sin nada más.
Edito: ¡Oh, wait!, tiene un logo semitransparente en el que no me había fijado antes... no sé.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código Únete al grupo Teaming clubdelphi | Colabora mediante Paypal Última edición por Casimiro Notevi fecha: 29-07-2016 a las 12:10:31. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Control de versiones | Waldo | Varios | 17 | 12-06-2010 17:08:33 |
Control de versiones con servidor ftp | seoane | Varios | 14 | 23-05-2008 11:06:55 |
Control de versiones | Boo | Varios | 7 | 27-09-2006 19:13:45 |
Control de Versiones | JorgeBec | Varios | 1 | 27-01-2005 04:49:45 |
Control de Versiones | cone220 | Varios | 1 | 20-01-2004 19:58:01 |
|