Ha pasado algo de tiempo desde el último post.
Era el mes de Julio de 2010 cuando compartí con ustedes como generar un Reporte en HTML de un modelo en MySQLWorkBench 5.2.25 utilizando un script LUA en MySQLWorkbench.
A partir de esa publicación, varias personas han contribuido forma valiosa para mejorar el script.
En esta ocasión agradezco a Paco Mora las mejoras que le ha hecho y pongo a la disposición de ustedes el código que él me ha enviado.
De nueva cuenta reitero mi agradecimiento a todos los que han contribuido para mejorar éste script.
No se diga más, he aquí el código:
Era el mes de Julio de 2010 cuando compartí con ustedes como generar un Reporte en HTML de un modelo en MySQLWorkBench 5.2.25 utilizando un script LUA en MySQLWorkbench.
A partir de esa publicación, varias personas han contribuido forma valiosa para mejorar el script.
En esta ocasión agradezco a Paco Mora las mejoras que le ha hecho y pongo a la disposición de ustedes el código que él me ha enviado.
De nueva cuenta reitero mi agradecimiento a todos los que han contribuido para mejorar éste script.
No se diga más, he aquí el código:
--[[Guardamos el esquema de la base de datos en la variable schema]]
local schemata= grtV.getGlobal("/wb/doc/physicalModels/0/catalog/schemata/tables")
local i--Varible para iterar el esquema.
local j--Variable para iterar las tablas base de datos
local k--Variable para iterar los campos de las tablas.
print("<!DOCTYPE html>\n" )
print("<html>\n" )
print("<head>\n" )
print("<style>\n" )
print(" #customers\n" )
print(" {\n" )
print(" font-family:'Trebuchet MS', Arial, Helvetica, sans-serif;\n" )
print(" width:100%;\n" )
print(" border-collapse:collapse;\n" )
print(" }\n" )
print(" #customers td, #customers th \n" )
print(" {\n" )
print(" font-size:1em;\n" )
print(" border:1px solid #98bf21;\n" )
print(" padding:3px 7px 2px 7px;\n" )
print(" }\n" )
print(" #customers th \n" )
print(" {\n" )
print(" font-size:1.1em;\n" )
print(" text-align:left;\n" )
print(" padding-top:5px;\n" )
print(" padding-bottom:4px;\n" )
print(" background-color:#A7C942;\n" )
print(" color:#ffffff;\n" )
print(" }\n" )
print(" #customers tr.alt td \n" )
print(" {\n" )
print(" color:#000000;\n" )
print(" background-color:#EAF2D3;\n" )
print(" }\n" )
print(" </style>\n" )
print("\n" )
print("</head>" )
print("<body>" )
print("<table border='1' style='width:100%'> \n" )
for i=1, grtV.getn(schemata) do
print("<tr id='customers'> \n" )
print("<td colspan='5'> NOMBRE DE LA BASE DE DATOS: " .. schemata[i].name .. "</td> \n")
print("</tr> \n" )
print("<tr> \n" )
print("<td colspan='5'> </td> \n")
print("</tr> \n" )
print("<tr> \n" )
print("<td colspan='5'>Tablas de la base de datos</td> \n")
print("</tr> \n" )
for j=1, grtV.getn(schemata[i].tables) do
print("<tr> \n" )
print("<td colspan='5'> <A href='#" .. schemata[i].tables[j].name .. "'>" .. schemata[i].tables[j].name .. "</A></td> \n")
print("</tr> \n" )
end
print("<tr> \n" )
print("<td colspan='5'> </td> \n")
print("</tr> \n" )
print("<tr> \n" )
print("<td>COLUMN_NAME</td> \n")
print("<td>TYPE</td> \n")
print("<td>NULLABLE?</td> \n")
print("<td>AUTO_INCREMENT?</td> \n")
print("<td>COMMENTS</td> \n")
print("</tr> \n" )
--Recorremos las tablas de la base de datos
for j=1, grtV.getn(schemata[i].tables) do
print("<tr> \n" )
print("<td colspan='5'> </td> \n")
print("</tr> \n" )
print("<tr> \n" )
print ( " <td ><A name='" .. schemata[i].tables[j].name .. "'>" .. schemata[i].tables[j].name .. "</A></td> \n" )--Obtenemos el nombre de la tabla.
print ( " <td colspan='4'>" .. schemata[i].tables[j].comment .. "/td> \n" )--Obtenemos el nombre de la tabla.
print("</tr> \n" )
for k=1, grtV.getn(schemata[i].tables[j].columns) do
print("<tr> \n" )
print ( " <td>" .. schemata[i].tables[j].columns[k].name .. "</td> \n" )
print ( " <td>" .. schemata[i].tables[j].columns[k].formattedType .. "</td> \n" )
if (schemata[i].tables[j].columns[k].isNotNull == 1) then
print (" <td>" .. "NOT NULL" .. "</td> \n" )
else
print ( " <td>" .. "NULL" .. "</td> \n" )
end
if (schemata[i].tables[j].columns[k].autoIncrement == 1) then
print (" <td>" .. "AUTO_INCREMENT" .. "</td> \n" )
else
print (" <td>" .. " - " .. "</td> \n" )
end
print ( " <td>" .. schemata[i].tables[j].columns[k].comment .. "</td> \n" )
print("</tr> \n" )
end
end
end
print("</table> " )
print(" </body>" )
print("</html>" )
print ( "\n" )