2021-12-30 10:11:36 +08:00
2021-12-30 10:11:36 +08:00
2021-12-28 22:55:50 +08:00
2021-12-28 22:55:50 +08:00
2021-12-27 17:39:24 +08:00
2021-12-30 10:11:36 +08:00
2021-12-28 22:55:50 +08:00
2021-12-28 22:55:50 +08:00
2021-12-30 10:11:36 +08:00
2021-12-28 22:55:50 +08:00

Databasir

Database document generator

you could use databasir to generate database meta model, or render it as markdown / pdf (TODO) / html (TODO)

How to use

Database Meta to Java Model

java.sql.Connection connection=...;
        DatabaseMeta meta=Databasir.of().get(connection,"user").orElseThrow();

Render as Markdown

try(FileOutputStream out=new FileOutputStream("user.md")){
        java.sql.Connection connection=...;
        Databasir databasir=Databasir.of();
        DatabaseMeta meta=databasir.get(connection,"user").orElseThrow();
        databasir.renderAsMarkdown(doc,out);
        }catch(IOException e){
        throw new IllegalStateException(e);
        }
  • Markdown Example

Ignore tables or columns

support regex pattern to ignore table or column

java.sql.Connection connection=...;
        DatabasirConfig config=new DatabasirConfig();
        config.ignoreColumn("id*");
        config.ignoreTable("flyway.*");
        DatabaseMeta meta=Databasir.of(config).get(connection,"user").orElseThrow();

Extension

Custom configuration

java.sql.Connection connection=...;
        DatabasirConfig config=new DatabasirConfig();
        config.setDatabaseMetaRepository(...); // your custom repository
        config.setTableMetaRepository(...); // your custom repository
        config.setColumnMetaRepository(...); // your custom repository
        config.setTriggerMetaRepository(...); // your custom repository
        config.setIndexMetaRepository(...); // your custom repository
        DatabaseMeta meta=Databasir.of().get(connection,"user").orElseThrow();

Default Repository Is

  • com.databasir.core.meta.repository.impl.jdbc.JdbcDatabaseMetaRepository
  • com.databasir.core.meta.repository.impl.jdbc.JdbcTableMetaRepository
  • com.databasir.core.meta.repository.impl.jdbc.JdbcColumnMetaRepository
  • com.databasir.core.meta.repository.impl.jdbc.JdbcIndexMetaRepository
  • com.databasir.core.meta.repository.impl.jdbc.JdbcTriggerMetaRepository
Description
Languages
JavaScript 81.4%
Java 18.2%
Fluent 0.4%