The newest Vertabelo feature is Reverse Engineering: a way to import an existing database into Vertabelo. The Reverse Engineering tool is a simple command-line Java application that you can download from our website. It connects to your database, reads the table and view details and stores the info in an XML file. Import the XML file into your database model and voila - your database is in Vertabelo!
How to use the reverse engineering application
Download the Reverse Engineering application from our website, then run the Reverse Engineering application. In Linux:
java -cp .:In Windows:: com.vertabelo.reverse.Main -url JDBC_URL -user USERNAME -password PASSWORD -o OUTPUT_FILENAME
java -cp .;; com.vertabelo.reverse.Main -url JDBC_URL -user USERNAME -password PASSWORD -o OUTPUT_FILENAME
The program prints the output as it runs. First you will see the name of the database engine (deduced from the JDBC connection url) and the name of the driver used.
Then you will see info on table/view data being extracted. The dot . represents a tiny table (no more than 5 columns), the little o represents a medium-size table, the big O represents a big table (over 20 columns).
Once it's done, the program prints the summary and outputs the XML file.
Now, import the file into Vertabelo and you're done!
Fine-tuning the Reverse Engineering application
You can fine-tune the behaviour of the application if you need to. The options are
- -o - the name of the output XML file
- -url - JDBC connection URL. The URL format can be found in your database documentation.
- -user - database username (optional)
- -password - database password (optional)
- -driver - JDBC driver name. If it is not specified, a default driver name will be used.
- -connection_properties - (optional) connection properties file. Any additional connection properties can be put in this file. The format is the usual Java properties format (list of key=value pairs).
- -schema - space-separated list of database schemas to read. If you don't specify the list, the program will read all tables/views in the user schema.
- -regexp - extract only tables and views matching the given regular expression. See the regexp option info for details
- -verbose - enables verbose output
- -lowercase - changes names of all model elements into lowercase
- -include-schema - extracts table schema
- -h, -help, --help - print the help message and exit
What data is read
The application reads data on:
- tables and views,
- column names and column types,
- primary and alternative keys,
- table checks (column checks are read as table-checks),
- indexes,
- references (i.e., foreign keys),
- sequences.
Supported databases
The Reverse Engineering application can read data from the following databases:
Database | JDBC driver | Connection URL | Remarks |
---|---|---|---|
PostgreSQL | Download | jdbc:postgresql://[HOST][:PORT]/DATABASE | |
MySQL | Download | jdbc:mysql://[HOST][:PORT]/DBNAME | |
Oracle | Download | jdbc:oracle:thin:@//[HOST][:PORT]/SERVICE | |
IBM DB2 | Download | jdbc:db2://[HOST][:PORT]/DATABASE_NAME | |
HSQLDB | Download (The driver is in hsqldb-*.jar file.) | jdbc:hsqldb:mem: jdbc:hsqldb:file: jdbc:hsqldb:http:host:port/dbname |
Connection string documentation |
MS SQL Server | Download | jdbc:sqlserver://[serverName[\instanceName][:portNumber]][;property=value[;property=value]] |
Diagram drawing
The Reverse Engineering tool lays out the database diagram automatically.
Java Runtime Environment
The Reverse Engineering application is written in Java. To run the application you need Java Runtime Environment (JRE) version 1.8 or higher. If you haven't already done so, download and install the JRE for your operating system.
Try out our Reverse Engineering tool!