Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Actualizaciones De Los Programas Creados Con Gambas3
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Actualizaciones De Los Programas Creados Con Gambas3 
 
Despues de crear algunos de los programas ya con Gambas3, me surge la necesidad de crear nuevas versiones del programa o ejecutable así como modificaciones en la estructura de la base de datos Mysql que funciona conjuntamente con el programa.

¿Que soluciones usasis para actualizar la version del ejecutable? ¿Como lo haceis para actualizar modificaciones en la estructura del Mysql y no perder los datos que el usuario ya tenis en la bse de datos antigua?
¿Sabe alguien si existe algun método del tipo PPA o similar para poder realizarlo?

Gracias de antemano.
 



 
arubioc - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Actualizaciones De Los Programas Creados Con Gambas3 
 
arubioc
Citar:

¿Que soluciones usais para actualizar la version del ejecutable?

No entiendo muy bien tu pregunta... ¿te podría valer con darle al cliente el archivo ejecutable .gambas? (el cliente debería de tener instalado gambas3).
O, mejor aun, crear un paquete de instalación (menu Proyecto/Crear/Paquete de instalación) y eliges la distribución que usa tu cliente... en este caso, cuando se instalara el programa también instalaría lo que le hiciera falta (por ejemplo gambas3)

Citar:
¿Como lo haceis para actualizar modificaciones en la estructura del Mysql y no perder los datos que el usuario ya tenis en la base de datos antigua?


Primero haría una copia de seguridad de la base de datos, y luego usaría un editor como phpMyAdmin o MySQL Query Browser, para realizar los cambios en las tablas, campos, etc de la base de datos

Saludos
 




===================
Blog personal
Web: SoloGambas seleccion de articulos dedicados a Gambas
Visita el Curso de Gambas3 ¡¡¡Gratuito!!!
 
jsbsan - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Actualizaciones De Los Programas Creados Con Gambas3 
 
Yo pensaba en algo mucho más automático y mucho más de cara al usuario.
Es decir:

- El programa se instala por primera vez en un Ubuntu.
- El programa crea en su primera ejecución la estructura del mysql que usara el usuario.
tanto el ejecutable como los ficheros necesarios estan creados con un paquete de instalación que funciona a la perfeccción, pero....

Que pasa si saco una nueva version del programa?
Como puedo hacer que para el usuario, el programa pueda actualizarse?
Como hago si la modificacion es más profucnda que simplemenet cambiar el archivo ejecutable?
Como hago para que la base de datos se modifique si en my actualización he creado nuevos campos?

Entiendo que la respuesta de jsbsan es válida, pero entido tambien que el usuario debe de tener conocimientos que muchos de ellos no tienen, es por este motivo que pregunto si por casualidad alguien ha tenido el mismo problema y saber como lo ha solucionado.

Gracias.
 



 
arubioc - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Actualizaciones De Los Programas Creados Con Gambas3 
 
arubioc:

Citar:
Que pasa si saco una nueva version del programa?
Como puedo hacer que para el usuario, el programa pueda actualizarse?

Por lo que veo buscas algo como una "actualización" automática ya sea del programa y/o la base de datos...

 Necesitas que el programa tenga un archivo de configuración donde este indicado su versión, la versión de la base de datos y una ruta ("servidor") donde se puede actualizar (o buscar información sobre actualizaciones). Y que cada vez que se inicie,  compruebe si en un servidor existe alguna version superior para que haga la actualización pertinente.

Yo me hice esta clase Update. (los datos de la version, en vez de un archivo de configuración, lo escribía directamente en el programa)

Y le dejaba una opción  (normalmente un botón o/y opción en el menú de actualizar), en el formulario principal.

Cuando el usuario le haga click, la clase se encarga de leer un archivo en un servidor web, este archivo contiene la ultima versión, y datos de las modificaciones, y le pregunta al usuario si descargaba o no.

Lo suyo es que la adaptes a lo que tus necesites y creo que te puede valer.


Citar:
Como hago si la modificación es más profucnda que simplemenet cambiar el archivo ejecutable?

Entonces tendras que usar una script, que lo puedes hacer en gambas o bash, que se encargue de descargar, copiar, mover , borrar los archivos, crear carpetas, archivos de configuración......

Citar:
Como hago para que la base de datos se modifique si en my actualización he creado nuevos campos?

Dependerá de la base de datos que estes usando...
Supongo que habra formas de hacer un script en mysql, que se puedan ejecutar y se encargue de añadir campos, tablas, etc.. a la base de datos.
O también, se me ocurre,  (si fuera en sqlite) hacer un programa en gambas, que tenga la nueva base de datos "en blanco" y  se encargue de copiar los datos de la antigua a la nueva base de datos y luego copiarla al directorio que sea...

Todas esta cosas  se las puedes indicar el el archivo de información de la version (el que este en el servidor), para que la clase Update, se encargue, según los cambios que haya, de actualizar lo que se necesite.

Espero que te sirva algo de lo que te cuento.
Saludos

Nota:
Esta clase Update, la instale en varios programas, pero el servidor que usaba para guardar la información de versiones ya no lo tengo, y ahora ya no se actualizan...
Lo suyo es que dejes varias direcciones url posibles para "buscar" informacion de actualización, asi si se pierde algun servidor, el programa tenga otras url posibles para buscarla...
 




===================
Blog personal
Web: SoloGambas seleccion de articulos dedicados a Gambas
Visita el Curso de Gambas3 ¡¡¡Gratuito!!!
 
última edición por jsbsan el Martes, 14 Agosto 2012, 00:47; editado 1 vez 
jsbsan - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Actualizaciones De Los Programas Creados Con Gambas3 
 
Si el usuario esta usando Ubuntu, lo mejor es crear un PPA, o, en el caso de ser un proyecto privado, se puede distribuir mediante un archivo .deb

Con la base de datos el problem se complica. Lo que mas conviene es mantener una tabla (comúnmente llamada scheme) con solo un registro (fila) y  que almacena un valor entero. La primera version de tu applicacion crearia la base de datos y en esa tabla guardaria el valor 1. Ahora, imaginate que liberas una segunda version. Muy facilmente puedes reproducir todos los pasos que has hecho para modificar la primera version de la base de datos para llegar a la segunda. Estos pasos los guardas en un archivo dentro del proyecto.

Si la base de datos no existe (una instalacion nueva), esta se crea y al valor anterior se le asigna un 2. pero si existe, se lo lee y se lo compara con el valor que distribuye   ESA version de la aplicacion. si es menor (una actualizacion), ejecutas todos los pasos enteriores en forma secuencial, si es igual, es una reinstalacion. Y asi sucesivamente aumentando el valor almacenado.

Debes tener mucho cuidado en solo afectar la estructura de la tabla y no los datos que esta contiene, y de que la tabla que contiene este valor del esquema no sea modificado en NINGUNA version, de esta forma puedes detectar si se esta usando una estructura vieja (y evitar corupcion de datos) o una nueva (y actualizar)

Espero que esta info te sirva, saludos!
 



 
sebikul - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Actualizaciones De Los Programas Creados Con Gambas3 
 
Vale!, si no hay otro remedio y no hay nada más automatico... pues toca rascar código y mantener perfectamente las versiones.

Muchas gracias!
 



 
arubioc - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Actualizaciones De Los Programas Creados Con Gambas3 
 
Tambien me mirare lo de crear una PPA, veo que es lo más utilizado para actualizar programas en Ubuntu.
 



 
arubioc - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Actualizaciones De Los Programas Creados Con Gambas3 
 
Hola

Sebikul lo ha explicado muy bien, la manera más sencilla es mantener tu programa en una PPA y si el usuario la añade a sus repositorios, el programa se actualizará automáticamente cada vez que subas una nueva versión.

Respecto a la base de datos, tienes prácticamente el trabajo hecho, ya que tu programa genera automáticamente las tablas. Una opción puede ser que al arrancar una nueva versión del programa se comprueba la versión de la BD y si es antigua, creas un backup de la BD antigua, a continuación generas las nuevas tablas y por último la llenas con los datos del backup de la manera que prefieras. Este método tiene la ventaja de que puedes cambiar la estructura a tu gusto, no sólo añadir campos al final de una tabla. Pero requiere un estudio muy minucioso para que nada falle, ya que están en juego los datos del usuario y un poco más de código para gestionar la lógica y las BBDD.

Creo que sebikul ha marcado las líneas maestras para trabajar; en cambio -y como yo mismo he podido comprobar- hacer actualizadores del ejecutable o involucrar demasiado al usuario no es el camino correcto. Esas cosas son más típicas de windows que de linux, que para eso éste tiene una gestión de paquetes insuperable.

Saludos
 




===================
Jesús Guardón

Por favor, usemos el corrector ortográfico antes de pulsar el botón "Enviar".

"uo ǝs ʇɐu pıɟıɔıן ɐdɹǝupǝɹ ɐ dɹoƃɹɐɯɐɹ, soןo ɥɐʎ bnǝ dɹodouǝɹsǝןo"
 
jguardon - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Actualizaciones De Los Programas Creados Con Gambas3 
 
Si, realmente Linux en este aspecto es insuperable, la gestion de las actualizaciones es increible, es por ello de mi preocupación y no querer hacer una "moñiga" en este sentido.
La verdad es que con todo esto de las actualizaciones me extraña que no haya algo hecho o que incluso el mismo Mysql no se ocupe de hacer algo al estilo "IF NOT EXIST create field" o algo así. De esta forma podriamos hacer ALTER TABLES de una forma más rápida y precisa que haciedo backups de la Base de datos.
 



 
arubioc - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Nueva Version De La Distribución De Picar... jsbsan General 5 Domingo, 12 Octobre 2014, 10:35 Ver último mensaje
jsbsan
No hay nuevos mensajes Cloud9: Instalacion De Gambas3 Y Ejecució... jsbsan Videotutoriales 11 Lunes, 29 Agosto 2016, 14:00 Ver último mensaje
davidbueno
No hay nuevos mensajes Actualizaciones En El Wikilibro De Gambas-es. tincho Sobre Gambas-es 1 Viernes, 04 Noviembre 2016, 19:06 Ver último mensaje
shordi
No hay nuevos mensajes Linuxmint, Los Misterios De Las Actualizac... shordi Mundo Linux 5 Domingo, 03 Diciembre 2017, 09:06 Ver último mensaje
Shell
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron