Pergunta

Existe alguma API java/java plugin que pode gerar um Banco de dados diagrama ER quando o java objecto de ligação é fornecida como entrada.

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

A API deve trabalhar com oracle,mysql,postgresql?

Eu estava passando por schemacrawler(http://schemacrawler.sourceforge.net/), ferramenta, mas didint tem alguma API que poderia fazer isso.

Se nenhuma API como esta há, então, deixe-me saber como posso escrever o meu próprio API?Eu quero gerar diagrama ER para todo o esquema em um banco de dados ou qualquer esquema específico se o nome do esquema for fornecido como entrada.

Ele será útil se você mostrar um pouco de luz sobre como realizar esta tarefa.

Foi útil?

Solução

Se eu entendi você pergunta corretamente, você pode dar uma olhada: JGraph

Outras dicas

Esta é uma velha questão, mas no caso de alguém se depara com ele, como eu fazia quando tentar fazer a mesma coisa que eu, eventualmente, descobriu como gerar o ERD, emergency repair disk usando Schemacrawler da API java.

            //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);

Isso ainda requer atk para ser instalado e no caminho para o trabalho.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top