You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

1.9 KiB

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