Visitas
Conectarse
Últimos temas
actualizaciones infernales??
2 participantes
Página 1 de 1.
actualizaciones infernales??
bueno me e dado vueltas y mas vueltas en muchos foros buscando algun tool para subir las updates sin necesidad de meter 1x1 como dicen en mangos X_X...y me di cuenta que cada vez que actualizan la base de datos "UDB" hay que borrar la base de datos anterior y colocar esa nueva..si..osea volver a subir todas las updates que tal vez te tardas todo el día otra vez....sera que MaNGOS no se da cuenta de eso?? deberían de hacer un .bat como tiene arcemu para subir las updates...y no basta con que tengas que subir las updates en un orden
si alguien conoce algun tool que lo postee por favor...estaría muy agradecido
si alguien conoce algun tool que lo postee por favor...estaría muy agradecido
Clerigon- Aprendiz
- Cantidad de envíos : 587
Oro : 2468
Reputación : 150
Fecha de inscripción : 27/01/2009
Localización : no
Re: actualizaciones infernales??
Hombre, hacer un tool que lo haga automáticamente, no debe de ser muy complicado (espero desde luego que no sea demasiado complicado, porque mi ArcOS tiene que poder hacer eso mismo ).
Según lei, para saber cual update es la siguiente, hay que tener en cuenta cierta columna de la tabla db_version (o algo así, no recuerdo), porque me parece que dicha columna contenía el nombre de la próxima update a instalar.
El proceso automatizado, sería más o menos así:
1º. Compruebo qué dice esa columna, para saber cual es la siguiente update necesaria (Esto habría que hacerlo mediante MySQL), y almaceno lo que dice la columna en una variable.
2º. Miro todos los ficheros dentro de la carpeta apropiada para las updates, y compruebo cual de ellos tiene en el nombre la cadena recuperada del paso 1.
3º. Uso MySQL para importar el script adecuado a la BD.
El tema estaría en conseguir hacerlo. Quizás, aunque tenga a ArcOS todavía a medio como quien dice, podría ver de hacer una mini app, de esa manera comprobaría si mi proceso funciona.
Salu2
P.D: Mmm... quizás pruebe, porque el código resultante, podría incorporarlo a ArcOS. Actualmente estoy trabajando un poco el manejo de excepciones y aparte el apartado de ArcEmu.
Según lei, para saber cual update es la siguiente, hay que tener en cuenta cierta columna de la tabla db_version (o algo así, no recuerdo), porque me parece que dicha columna contenía el nombre de la próxima update a instalar.
El proceso automatizado, sería más o menos así:
1º. Compruebo qué dice esa columna, para saber cual es la siguiente update necesaria (Esto habría que hacerlo mediante MySQL), y almaceno lo que dice la columna en una variable.
2º. Miro todos los ficheros dentro de la carpeta apropiada para las updates, y compruebo cual de ellos tiene en el nombre la cadena recuperada del paso 1.
3º. Uso MySQL para importar el script adecuado a la BD.
El tema estaría en conseguir hacerlo. Quizás, aunque tenga a ArcOS todavía a medio como quien dice, podría ver de hacer una mini app, de esa manera comprobaría si mi proceso funciona.
Salu2
P.D: Mmm... quizás pruebe, porque el código resultante, podría incorporarlo a ArcOS. Actualmente estoy trabajando un poco el manejo de excepciones y aparte el apartado de ArcEmu.
Re: actualizaciones infernales??
si, las actualizaciones tiene un orden..un ejemplo
si en la tabla Db_version no tienes esos valores simplemente no se ejecuta el archivo...
ALTER TABLE db_version CHANGE COLUMN required_2008_12_15_01_mangos_arenas required_2008_12_22_01_mangos_creature_equip_template bit;
si en la tabla Db_version no tienes esos valores simplemente no se ejecuta el archivo...
Clerigon- Aprendiz
- Cantidad de envíos : 587
Oro : 2468
Reputación : 150
Fecha de inscripción : 27/01/2009
Localización : no
Re: actualizaciones infernales??
Vale, ya entiendo como va la cosa (o creo entenderlo)...
Va un poco distinta a como yo pensaba, pero no mucho. Yo creia, que el SQL al que hacía referencia la columna de db_version, era el siguiente necesario, pero no es así.
Según he entendido, esa columna muestra cual es la última update que se ha aplicado.
Luego, la entrada del SQL que muestras, lo que daría a entender es esto:
ALTER TABLE db_version CHANGE COLUMN [nombre de la actualización anterior a esta] [nombre de ésta actualización] bit;
Luego, una futura tool lo que tendría que hacer es:
1º. Realizar una consulta para extraer el nombre de la tercera columna db_version, que es la que contiene el nombre de la ultima ultima update aplicada y guardarlo en una variable.
2º. (Esto ya se demoraría un rato) Se tiene que abrir cada uno de los SQL de las updates, y extraer lo mismo que has mostrado tu, lo cual se almacenaría en una variable temporal. Ahora, hay que hacer una busqueda en la cadena recuperada en la variable temporal de forma que, en otra variable, se almacene lo que es el nombre de la update anterior al archivo que se ha abierto.
Ahora habría que comprobar si el contenido de la nueva variable del paso 2 se corresponde con el contenido de la variable del paso 1. En el caso en que sea así, hemos encontrado la update que toca aplicar ahora.
En caso de que no, hay que seguir en un bucle con lo mismo: Abrir archivo, extraer cadena, buscar cadena, comparar...
3º. En el caso en que el paso 2 se haya completado con éxito (es decir, en el caso en que se haya encontrado la siguiente update a aplicar), se importaría en la base de datos adecuada el SQL correspondiente.
No se si me habré explicado bien (yo mismo me he hecho un pequeño lio, aunque en suma lo tengo mas o menos claro), pero ese sería el comportamiento de la tool.
He vuelto a instalar la BD de mangos en el PC (formatee hace un tiempo y no tenía nada referente a los servidores instalado), y puede que esta tarde le heche un vistazo a lo que he puesto.
En principio no se ve dificil, aunque tengo que ver como se hace cada cosa y luego, ver el orden apropiado de hacerlo (y claro, controlar las posibles excepciones que haya).
Si lo consigo, lo pondré para testeo.
Salu2
P.D: Bueno, solo quería decirte que estoy mirando el tema, y que ya he conseguido almacenar en una variable el nombre de la columna del db_version que indica la ultima update aplicada a la BD. Y tengo ya casi el bucle que va mirando por todos los archivos de las updates.
También puedo, de cada archivo de las updates que se abre, extraer la línea del alter table, con lo que de ahi solo me falta extraer únicamente el segmento de texto que corresponde a la anterior update aplicada.
Va un poco distinta a como yo pensaba, pero no mucho. Yo creia, que el SQL al que hacía referencia la columna de db_version, era el siguiente necesario, pero no es así.
Según he entendido, esa columna muestra cual es la última update que se ha aplicado.
Luego, la entrada del SQL que muestras, lo que daría a entender es esto:
ALTER TABLE db_version CHANGE COLUMN [nombre de la actualización anterior a esta] [nombre de ésta actualización] bit;
Luego, una futura tool lo que tendría que hacer es:
1º. Realizar una consulta para extraer el nombre de la tercera columna db_version, que es la que contiene el nombre de la ultima ultima update aplicada y guardarlo en una variable.
2º. (Esto ya se demoraría un rato) Se tiene que abrir cada uno de los SQL de las updates, y extraer lo mismo que has mostrado tu, lo cual se almacenaría en una variable temporal. Ahora, hay que hacer una busqueda en la cadena recuperada en la variable temporal de forma que, en otra variable, se almacene lo que es el nombre de la update anterior al archivo que se ha abierto.
Ahora habría que comprobar si el contenido de la nueva variable del paso 2 se corresponde con el contenido de la variable del paso 1. En el caso en que sea así, hemos encontrado la update que toca aplicar ahora.
En caso de que no, hay que seguir en un bucle con lo mismo: Abrir archivo, extraer cadena, buscar cadena, comparar...
3º. En el caso en que el paso 2 se haya completado con éxito (es decir, en el caso en que se haya encontrado la siguiente update a aplicar), se importaría en la base de datos adecuada el SQL correspondiente.
No se si me habré explicado bien (yo mismo me he hecho un pequeño lio, aunque en suma lo tengo mas o menos claro), pero ese sería el comportamiento de la tool.
He vuelto a instalar la BD de mangos en el PC (formatee hace un tiempo y no tenía nada referente a los servidores instalado), y puede que esta tarde le heche un vistazo a lo que he puesto.
En principio no se ve dificil, aunque tengo que ver como se hace cada cosa y luego, ver el orden apropiado de hacerlo (y claro, controlar las posibles excepciones que haya).
Si lo consigo, lo pondré para testeo.
Salu2
P.D: Bueno, solo quería decirte que estoy mirando el tema, y que ya he conseguido almacenar en una variable el nombre de la columna del db_version que indica la ultima update aplicada a la BD. Y tengo ya casi el bucle que va mirando por todos los archivos de las updates.
También puedo, de cada archivo de las updates que se abre, extraer la línea del alter table, con lo que de ahi solo me falta extraer únicamente el segmento de texto que corresponde a la anterior update aplicada.
Página 1 de 1.
Permisos de este foro:
No puedes responder a temas en este foro.
Lun Nov 14, 2016 3:41 pm por ragnarosxd
» WoW server ragnaros 3.3.5a high reates
Miér Jun 24, 2015 11:12 pm por ragnarosxd
» WoW server ragnaros 3.3.5a high reates
Miér Jun 24, 2015 11:11 pm por ragnarosxd
» Traducciones WhyDB
Vie Mayo 02, 2014 10:54 pm por tubafonos
» realmlist
Jue Ago 29, 2013 5:36 pm por locoiii
» cual es el realmist????
Mar Mayo 14, 2013 3:15 am por bosz
» Presentacion
Lun Abr 01, 2013 6:40 am por danigraful
» holaa me podeis ayudarr
Dom Mar 31, 2013 5:34 pm por alejandro9696
» WOWPlus - Excelente Servidor WoW 3.3.5 a (WOTLK)
Miér Mar 27, 2013 2:33 am por Galawowplus