Pregunta

¿Hay algún complemento API / JAVA de Java que pueda generar un diagrama de base de datos cuando el objeto de conexión Java se proporciona como entrada.

EX: InputSream generateDatabaseERDiagram(java connection object)// where inputsream will point to generated ER diagram image

La API debería funcionar con Oracle, MySQL, PostgreSQL?

Estaba pasando por Schemacrawler (http://schemacrawler.sourceforge.net/) Herramienta, pero Diint obtuvo cualquier API que podría hacer esto.

Si no hay API como esta, házmelo saber cómo puede escribir mi propia API?Quiero generar un diagrama de ER para todo el esquema en una base de datos o en cualquier esquema específico si el nombre del esquema se proporciona como entrada.

Será útil si muestra algo de luz sobre cómo lograr esta tarea.

¿Fue útil?

Solución

Si entendí la pregunta correctamente, puede echar un vistazo a: japhgraph

Otros consejos

Esta es una pregunta antigua, pero en caso de que alguien más se tropieza con ella, ya que lo hice cuando traté de hacer lo mismo, finalmente descubrí cómo generar el ERD usando la API Java de Schemacrawler.

            //Get your java connection however
            Connection conn = DriverManager.getConnection("DATABASE URL");
            SchemaCrawlerOptions options = new SchemaCrawlerOptions();
            // Set what details are required in the schema - this affects the
            // time taken to crawl the schema
            options.setSchemaInfoLevel(SchemaInfoLevelBuilder.standard());
            // you can exclude/include objects using the options object e.g.
            //options.setTableInclusionRule(new RegularExpressionExclusionRule(".*qrtz.*||.*databasechangelog.*"));

            GraphExecutable ge = new GraphExecutable();

            ge.setSchemaCrawlerOptions(options);

            String outputFormatValue = GraphOutputFormat.png.getFormat();

            OutputOptions outputOptions = new OutputOptions(outputFormatValue, new File("database.png").toPath());

            ge.setOutputOptions(outputOptions);

            ge.execute(conn);

Esto todavía requiere graphviz que se instalará y en la ruta para trabajar.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top