Database Markup Language (DBML), designed to define and document database structures. See the original repository.
Using Java 17.
Example usage:
import com.wn.dbml.compiler.DbmlParser;
import com.wn.dbml.model.Database;
class Example {
public static void main(String[] args) {
var dbml = """
Table table1 {
id integer
}""";
// parse the dbml
Database database = DbmlParser.parse(dbml);
// process the database structure
database.getSchemas().stream()
.flatMap(schema -> schema.getTables().stream())
.forEach(System.out::println); // prints "table1"
}
}
For a more elaborate example see the DBML-to-Avro-Translator.
Maven dependency:
<dependency>
<groupId>io.github.nilswende</groupId>
<artifactId>dbml-java</artifactId>
<version>1.2.0</version>
</dependency>