Esta web usa cookies propias y de terceros para mejorar tu experiencia de navegación y realizar tareas de análisis. Al continuar con tu navegación entendemos que das tu consentimiento a nuestra política de cookies.

MY NEW STATIC BLOG. WHY? BECAUSE FUCK YOU, THAT'S WHY!




Acabo de publicar FacturaScripts 0.10. Cambio de versión y nuevo nombre en clave: oso de agua ¿Por qué? Porque esta versión es la que más quebraderos de cabeza me ha dado. Cada vez que pensaba que ya estaba lista salían más y más problemas. Por eso le he puesto el nombre del animal más difícil de matar.


El oso de agua es prácticamente indestructible, no importa que lo metamos en agua hirviendo, que lo congelemos, lo sometamos a fuertes presiones o lo desequemos. Pueden sobrevivir a temperaturas que oscilan entre los -272ºC y los 149ºC, así como a la inmersión en alcohol puro y en éter.

Son animales tan duros que incluso se ha descubierto que pueden sobrevivir en el espacio exterior. Científicos rusos afirman haber encontrado tardígrados vivos en la cubierta de los cohetes recién llegados de vuelta del espacio exterior.

Y a todo esto ... ¿Que novedades trae esta versión? Soporte para MySQL.

¿Y para eso tanta historia? ¿Tanto lío para dar soporte a una de las bases de datos más extendidas del mundo? ¿Qué pasa, que vienes de usar Access y no te aclaras con el SQL? ... ¿Estoy discutiendo sólo? o_O

El problema es que FacturaScripts genera y adapta la base de datos al vuelo. Esto es posible gracias a un algoritmo que tengo para comprobar la estructura de la base de datos y hacer los cambios necesarios para dejarla acorde con la estructura que tengo definida en los archivos xml. Desarrollar este algoritmo me resultó sencillo gracias, en gran parte, a PostgreSQL.

PostgreSQL cumple el estándar ANSI-SQL: 2008. Esto te da la confianza de que el código SQL que escribes va a funcionar en cualquier otro motor de base de datos ... cualquier otro motor que cumpla los estándares. Y aquí empiezan los problemas con MySQL.

En PostgreSQL le puedes poner nombre a todas las restricciones. Yo lo hago en el código de FacturaScripts. Así es muy sencillo saber las que ya tienes, las que faltan y las que sobran.

Pero en MySQL no. En MySQL las claves primarias no tienen nombre, las ajenas necesitan que crees previamente un índice, y las unique se eliminan como si fuesen índices. Además MySQL usa las comillas `raras`, mientras que PostgreSQL usa las comillas dobles. ¿Los valores de verdadero y falso? En PostgreSQL 'f' y 't', en MySQL 0 y 1. ¿Los valores Serial? Si, los tienen los dos, pero mientras que en PostgreSQL equivale a int, en MySQL es un bigint. Con lo cual la cosa se complica más y más ... por eso he acabado hasta los coj****.

Pero ya está. Ahora ya podéis usar FacturaScripts con MySQL, y descubrir muchos fallos para que yo pueda `disfrutar` solucionándolos...
comments powered by Disqus

Powered by PussyPress.