数据库文档管理中心
Go to file
vran a924ae5bb8 feat: init api 2022-01-24 22:56:38 +08:00
README feat: init core module 2021-12-28 22:55:50 +08:00
api feat: init api 2022-01-24 22:56:38 +08:00
common feat: init api 2022-01-24 22:56:38 +08:00
core feat: init api 2022-01-24 22:56:38 +08:00
dao feat: init api 2022-01-24 22:56:38 +08:00
gradle/wrapper feat: init core module 2021-12-28 22:55:50 +08:00
plugin feat: init api 2022-01-24 22:56:38 +08:00
.gitignore feat: databasir init 2021-12-27 17:39:24 +08:00
README.md feat: update readme 2021-12-30 10:13:13 +08:00
api.gradle feat: init api 2022-01-24 22:56:38 +08:00
build.gradle feat: init api 2022-01-24 22:56:38 +08:00
gradlew feat: init core module 2021-12-28 22:55:50 +08:00
gradlew.bat feat: init core module 2021-12-28 22:55:50 +08:00
settings.gradle feat: init api 2022-01-24 22:56:38 +08:00

README.md

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