Por lo regular utilizo MySQL Workbench Standard Edition para diseñar el esquema de mis bases de datos, sin lugar a dudas esta es una gran herramienta, pero ésta versión no tiene un reporteador para generar en HTML la documentación de los campos utilizados.
Me dí a la tarea de buscar como utilizar el lenguaje de scripts y genere el siguiente código que genera una tabla en HTML con los nombres de las tablas y las columnas, con sus descripciones.
Solo tienes que cambiar la siguiente línea para obtener la documentación de tu modelo
local schemata= grtV.getGlobal("/wb/doc/physicalModels/0/catalog/schemata/1/tables")
Para saber la ruta correcta puedes dar clic en Scripting, Scripting Shel y la ventana Working Scripting Shell pulsar en la pestaña Global para seleccionar tu propio esquema.
Para generar el documento en HTML guarda el código de abajo en un documento de texto con la extensión .lua y lo ejecutas desde Scripting, Run Workbench Script File
Espero les sea de utilidad.
Nota importante: Hay una versión más reciente de éste script aquí
local schemata= grtV.getGlobal("/wb/doc/physicalModels/0/catalog/schemata/1/tables")
local i
local j
print("<table border='1' style='width:100%'> \n" )
for i=1, grtV.getn(schemata) do
print("<tr> \n" )
print("<td colspan='5'> TABLE NAME: " .. schemata[i].name .. "</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" )
for j=1, grtV.getn(schemata[i].columns) do
print("<tr> \n" )
print ( " <td>" .. schemata[i].columns[j].name .. "</td> \n" )
print ( " <td>" .. schemata[i].columns[j].formattedType .. "</td> \n" )
if (schemata[i].columns[j].isNotNull == 1) then
print (" <td>" .. "NOT NULL" .. "</td> \n" )
else
print ( " <td>" .. "NULL" .. "</td> \n" )
end
if (schemata[i].columns[j].autoIncrement == 1) then
print (" <td>" .. "AUTO_INCREMENT" .. "</td> \n" )
else
print (" <td>" .. " - " .. "</td> \n" )
end
print ( " <td>" .. schemata[i].columns[j].comment .. "</td> \n" )
print("</tr> \n" ) end
end
print("</table> \n" )
print ( "\n" )
Me dí a la tarea de buscar como utilizar el lenguaje de scripts y genere el siguiente código que genera una tabla en HTML con los nombres de las tablas y las columnas, con sus descripciones.
Solo tienes que cambiar la siguiente línea para obtener la documentación de tu modelo
local schemata= grtV.getGlobal("/wb/doc/physicalModels/0/catalog/schemata/1/tables")
Para saber la ruta correcta puedes dar clic en Scripting, Scripting Shel y la ventana Working Scripting Shell pulsar en la pestaña Global para seleccionar tu propio esquema.
Para generar el documento en HTML guarda el código de abajo en un documento de texto con la extensión .lua y lo ejecutas desde Scripting, Run Workbench Script File
Espero les sea de utilidad.
Nota importante: Hay una versión más reciente de éste script aquí
local schemata= grtV.getGlobal("/wb/doc/physicalModels/0/catalog/schemata/1/tables")
local i
local j
print("<table border='1' style='width:100%'> \n" )
for i=1, grtV.getn(schemata) do
print("<tr> \n" )
print("<td colspan='5'> TABLE NAME: " .. schemata[i].name .. "</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" )
for j=1, grtV.getn(schemata[i].columns) do
print("<tr> \n" )
print ( " <td>" .. schemata[i].columns[j].name .. "</td> \n" )
print ( " <td>" .. schemata[i].columns[j].formattedType .. "</td> \n" )
if (schemata[i].columns[j].isNotNull == 1) then
print (" <td>" .. "NOT NULL" .. "</td> \n" )
else
print ( " <td>" .. "NULL" .. "</td> \n" )
end
if (schemata[i].columns[j].autoIncrement == 1) then
print (" <td>" .. "AUTO_INCREMENT" .. "</td> \n" )
else
print (" <td>" .. " - " .. "</td> \n" )
end
print ( " <td>" .. schemata[i].columns[j].comment .. "</td> \n" )
print("</tr> \n" ) end
end
print("</table> \n" )
print ( "\n" )