DbSchema 9 Release Notes

Beta Updates

DbSchema 9.4.2

  • Feature: Data Governance Dialog
  • Feature: Oracle table option for partitioning
  • Feature: Option to export data including auto-increment columns
  • Feature: SQL Editor add area selection with Alt key
  • Feature: Upgrade MySql, MariaDb, H2 and PostgreSQL JDBC Drivers
  • Feature: PostgreSQL use DDL to reverse schema from the database. Use Model / Settings / Show Reverse Engineer DDL to see the statements in the Help / Output Logs.
  • Feature: GIT dialog, add fields for author name and email in the commit pane
  • Feature: Upgrade Snowflake JDBC Driver
  • Feature: Include Synchronization Pre an Post scripts in the Commit Dialog scripts
  • Feature: Support TimescaleDB
  • Bug: Links in markdown documentation
  • Bug: Create statement on foreign keys shows an empty script
  • Bug: GIT revision date is incorrect
  • Bug: Postgres reverse engineer unique indexes/constraints
  • Bug: Commit schema changes dialog, when pressing the ‘Skip’ button

DbSchema 9.4.1

  • Feature: Improve GIT dialog. Add commits tree representation. Fixes for pull, push and conflicts solving.
  • Feature: HBase new JDBC drivers
  • Feature: CSV Editor add ~ delimiter
  • Feature: Databricks add support for STRUCT, ARRAYS
  • Feature: Documentation dialog has an option to export layouts having a comment tag ‘documentation’
  • Feature: Databricks support for Unity Catalog
  • Feature: Rename DbShell into DbSchemaCLI (Command Line Interface)
  • Bug: MSAccess BOOLEAN as YESNO, comments are not supported.
  • Bug: Markdown SVG encoding issue
  • Bug: Sync issue with Foreign keys shown as missing
  • Bug: SqlServer correct reverse engineer unique constraints vs unique indexes
  • Bug: Table sort in HTML5 documentation
  • Bug: GIT improve authentication mechanism
  • Bug: Azure issues with USE command, when listing the schemes and catalogs
  • Bug: DDL Parser SqlServer references FKs.
  • Bug: Redshift fixes for distkey.
  • Bug: Databricks rename column, partition key
  • Bug: GIT Clone a fresh repository error
  • Bug: GIT use SSH private key file and paraphrase

DbSchema 9.4.0

  • Feature: PayProGlobal is our new Payment Processor. We introduced a monthly subscription license.
  • Feature: SQL Editor fixed columns and rows
  • Feature: Add clone unit to Schema menu, with shortcut: Ctrl+2. If the model has one schema, don’t ask about the target schema.
  • Feature: HTML5 documentation can configure to hide the logo in Model / Settings; use move cursor; sticky layout title; lighter image border color.
  • Feature: HTML5 documentation allow to open all open layouts. Use two combo boxes for selection.
  • Feature: Grid editor include the schema for tables.
  • Feature: Support Tarantool database
  • Feature: In the schema dialog, add option to create databases
  • Feature: Layout tooltips wraps text
  • Feature: Creating new layout will add selected tables
  • Feature: Add option under Table Menu / Group / Select Related Tables
  • Feature: Logical design, moving entities between subject areas keep position and refresh layouts
  • Feature: Add Groups Manager, available from Group / right-click /Manage.
  • Feature: Relational Data Browse can edit enum data types as combo box
  • Feature: Upgrade JSch libraries
  • Bug: Easy Data Preview not showing correctly when opened from the right-click popup
  • Bug: Import from XLSX when the column names are surrounded by spaces
  • Bug: Foreign Key not drawn when generating documentation for layouts which are not open.
  • Bug: Moving tables between schemes (in offline mode), is using the wrong name and loosing referencing foreign keys.
  • Bug: Saving and closing SQL Editor to file would save an empty file.
  • Bug: Schema/Table/Column/Foreign Key naming fixes for logical design (SubjectArea/Entity/Attribute/Relation).
  • Bug: Virtual relations can show as many-to-many in diagram after reopening the model
  • Bug: Errors in reopening models where the schema name contains dots.
  • Bug: SQL Editor open new files in a separate tab
  • Bug: Renaming an index and changing the index uniqueness generates error by rename
  • Bug: SQL Editor not painted when shown in floating tab
  • Bug: SqlServer reverse engineer filtered indexes (using WHERE clause)
  • Bug: GIT dialog different fixes
  • Bug: Logical design editing relation does not save the cardinality

DbSchema 9.3.0

Change Payment Gateway

We move to a new payment gateway, PayProGlobal. We introduce a license as monthly subscription.

Pay Pro Global

Video Memory Usage

Improve video memory usage by removing hidden canvases from scene graph.
This allows to open multiple layouts on high resolution monitors without issues.

Grid Editor

Data Generator Improvements

Data Generator to File cache Foreign Key values. Booleans as 0 and 1 for SqlServer.
The data generator can produce output to SQL file.

Data Generator

New JDBC drivers for SqlServer, MySql, MariaDB, Postgres

Get the latest drivers by deleting the folder .DbSchema from the user home directory (C:\Users<YourUser>).
Restart DbSchema, and next time you will try to connect, the latest drivers will be downloaded.

JDBC Drivers

Connection Management and Online/Offline Improvements

Any operation requiring a database connection won’t change the project from offline to online.
We keep the offline status, unless is modified manually.

Improve connection management. Add a connection status icon on the right of the toolbar.


Schema Documentation Improvements

Documentation select multiple layouts using ComboBox. If multiple layouts are selected, generate table documentation only one time for all layouts.

Schema Documentation

GIT Dialog

The GIT dialog got different bug fixes and improvements.

GIT Dialog

Further Fixes

  • Bug: Correctly reverse MySql and MariaDb enum and set data types. Sample: type enum(‘TASK’,’CALENDAR’,’REPAIR’)
  • Bug: SqlServer reverse engineer table and column comments from extended properties
  • Bug: Copy SQL Editor result to clipboard
  • Bug: Closing DbSchema and save the latest changes.
  • Bug: Databricks JDBC driver issues

DbSchema 9.2.2

Grid Editor

The Grid editor is a fast way of editing tables, columns, indexes and foreign keys. The editor is available in the Edit Menu or in any table right-click pop-up menu.

Grid Editor

Here you can faster create columns, set data type and comments.
Selecting multiple rows you can apply the editing to all rows simultaneously.

The Grid editor can show the items as tree or as table. From the header you can sort the items.

Grid Editor

Tag Manager

Beside comments, each table, column, index or foreign key can have tags as pairs of key/values.
Using the tag manager you can pre-define some tags, add a list of values for each tag, and define for which element can be used.
The tags are saved only in the design model and not in the database.

Tag Manager

Logical Design conversion to Physical Design

We have improved the naming and conversion dictionaries. We also added auto-suggestion on name fields in the table and column dialogs, based on the names
from the naming dictionaries.

Naming Dictionary

The workflow is to generate from the logical design the physical design, which can be than synchronized with the database.
A direct synchronization between the logical design and the database is no longer possible.

Improve Options Pane and Field

The option pane is a tab in the Table Dialog. Options fields are available in the Column Dialog.
The option pane is used to define a database-specific collation, storage option, partitioning, temporal tables, etc.
The possible options can be completely different from database to database.

Option Pane

In the option dialog you can select an option on the right, then add it to the exiting options on the left.
The possible values for the options are configurable in the Model / Settings / Database Specific / SQL Language / Table/Column/Index/Foreign Key options.

Other Features

  • Improve data generator repository. The data generator has an option to generate data to SQL File.
  • Renaming a column in the offline mode and logical design will rename also the columns bind by foreign keys.
  • Sqlite improvements in creating foreign keys
  • MySql generated columns disable mandatory field

Bug Fixes

  • Create or edit indexes exception
  • Editing tags activate the save button
  • MySql text default length 65535
  • Editing pattern in Data Generator
  • Data Explorer, hidden columns showing again on cascaded tables
  • SqlAnywhere and SAPHana fixes in reverse engineer

DbSchema 9.2.1

Improve Logical Design

The relations can make use of different settings: Identifying / Mandatory and Cardinality.
Except the Many-to-Many relations, all other settings will be implemented in the logical design directly after closing the dialog.

Logical Design

Show Database Objects in the Project Structure

DbSchema includes now code to explore other objects from the database, like collation, partitions, file groups, tablespaces, etc.
They are shown in the Project Structure, in a folder with a ‘magnifier’ icon.
They are not saved in the design model.

Database Objects

Improve HTML5 Documentation

The documentation got a better look.

HTML5 Documentation

‘SQL’ Button to Table Dialog

This option can be used to view the CREATE TABLE statement.
The option is available also for columns, indexes, etc.

HTML5 Documentation

Other Features and Bug Fixes

  • Feature: Improve Data Loader
  • Feature: MongoDB support for SSL connections
  • Feature: CSV Editor memory optimizations
  • Feature: Triple-click in SQL Editor select line
  • Feature: Show triggers under the table structure
  • Feature: Increase text sharpness in diagram
  • Feature: Improve GUI font and contrast
  • Bug: Data Loader date format issue
  • Bug: SqlServer reverse engineer foreign keys between different schemes

DbSchema 9.2.0

SqlServer improve reverse engineer speed.

In the previous versions we used two procedures to reverse engineer the schema.
One of the procedures was called for each table.
Now we use a PSQL Block ( begin…end ) which can be called only one time per schema.

SqlServer Reverse Engineer

New Video Tutorials Dialog

The video tutorials are explaining more in details the DbSchema features.

Video Tutorials

MongoDb Tree Arrangement & Virtual Setting

We arrange collections in a tree manner.
Collections can be marked as ‘virtual’. Virtual collections won’t get any validation rule implemented in the database.

MongoDb Tree Arrangement

Improvements in the Table and Column Options Field

The ‘options’ field can be used to select database-specific settings.
For GENERATED AS IDENTITY one of the BY DEFAULT or ALWAYS settings are selected by default.

Options Field

Dark Theme

Improve Dark theme.

Dark Theme

Other Features and Bug Fixes

  • Feature: Remove group gradients
  • Feature: HTML5 documentation - add tags to text comments
  • Feature: Improve HTML5 documentation look
  • Feature: Upgrade Google Cloud Spanner JDBC Driver
  • Feature: Configurable time for deducing view columns in Model / Settings / Reverse engineer.
  • Feature: PostgreSQL, Oracle load number of rows per table
  • Feature: Improve the Reports Designer
  • Feature: Improve Dark theme
  • Bug: Adding multiple tags to tables or columns
  • Bug: Snowflake does not reverse engineer view definition
  • Bug: HTML5 Documentation when the schema, table, or column name includes <, >
  • Bug: SqlServer computed columns skip the NULL keyword
  • Bug: Driver Management dialog not showing classes without URLs

DbSchema 9.1.1

Result Pane

Add icon in Result Pane cell to show large text cells in PopOver

Enlarge text in Result Pane


MongoDB collection flag for virtual (no validation rule) and also symbol in the diagram.
Setting it will skip implementing validation rules.

MongoDB skip implementing validation rules

Import Model from External Formats

Add Dialog to import model from CSV file. See Model / Load from External Format.

Load Schema from External Format

Dark Theme

Improve Dark theme.

Dark Theme

Other Features and Bug Fixes

  • Feature: Project Structure expand by default only the first schema
  • Feature: Refactor SQL and JSON indentation (Ctrl-I in SQL Editor)
  • Feature: Add search field in Automation Scripts Dialog
  • Feature: Add data type auto-match patterns to the Model / Settings / Database Specific / Data Types. Used to match newly created column names and auto-select the data type.
  • Feature: Auto-disable diagram shadow when the rendering is slow.
  • Feature: Change tab traversal policy in the Column Dialog.
  • Bug: In MongoDB Query Builder

DbSchema 9.1.0

Welcome Screen and Quick Tour

The welcome screen and the quick tour tips has changed.

DbSchema Welcome Screen

Query Builder

Thanks to JavaFX configurable CSS look, we were able to improve our look and feel.

MongoDB Query Builder

Improvements for JSON documents. Query Builder use joined routing and show data type
Also improvements for MongoDB and better handling of large documents.

Diagram performance improvements.

Diagram routing and drawing works faster.

Logical and Physical Design

We introduced the data type and naming dictionaries.

Naming Dictionary

Data Type Conversion Dictionary

GIT Dialog

The GIT dialog has improved. It has options to compare the model from two revisions, or generate the change audit log from multiple revisions.

GIT Dialog

Other Features and Bug Fixes

  • Feature: Thread improvements for diagram routing

  • Feature: Upgrade SSH and internal libraries

  • Feature: SQL Syntax fixes for GoogleCloudSpanner

  • Feature: Edit / Show Schema name will show it also in the Foreign key tooltips and documentation

  • Bug: Editing existing connection the URL is not loaded

DbSchema 9.0.3

New Look and Feel

Thanks to JavaFX configurable CSS look, we were able to improve our look and feel.

Improve Look and Feel

Improve Logical Design

The logical design contains a number of improvements, including dictionaries for converting the data types and the entity and field names.
We continue to work on the logical design.

Logical Design

Further improvements

  • Feature: Improve Redis JDBC driver
  • Feature: Use LIMIT and OFFSET in Relational Data Explorer
  • Feature: Support for ClockHouse Database
  • Feature: Implement database version-specific settings. Like special settings for MySql 5.7, applied on top of version 8.0
  • Feature: Add setting for browse records per page, distinct from the SQL Editor
  • Feature: New drivers for AWS Azure PostgreSQL
  • Feature: Improve Report & Application designer
  • Feature: Improve settings dialog: use 3 tabs only, with search bar
  • Feature: Support for SqlServer external tables.
  • Feature: Improvements in SQL Editor result pane, with options to copy selection as CSV, JSON, MD.
  • Feature: Virtual Primary Key for Google Big Query
  • Bug: MongoDB errors with generate schema validation script
  • Bug: Postgres serial data type synchronization differences
  • Bug: Postgres include IN-OUT for function and procedure parameters in the DROP statement
  • Bug: Export large diagram to PNG, GIF or JPEG
  • Bug: Fix threading issue in Model loader from file task
  • Bug: Relational data editor - refresh not working in floating tabs
  • Bug: Reload connection in SQL editor by timeout
  • Bug: Reverse engineer foreign keys using tables from different schemes
  • Bug: Relational Data Browse and Data Generator query fetch size
  • Bug: Aurora MySql default current_timestamp not to use brackets
  • Bug: MySql reverse engineer using DDL when schema name uses dashes
  • Bug: Improve SqlServer reverse engineer using DDL
  • Code review: Rename package com.wisecoders.dbs.rdbms to com.wisecoders.dbs.dbms
  • Improvement: Merge classes RdbmsSettings, RdbmsSyntax and Rdbms into Dbms. Update the JavaDoc.
  • Improvement: Remove ${identifier} from SQL Syntax settings.
  • Improvement: Relational Data Browse threading
  • Improvement: MongoDB JDBC driver
  • Improvement: Cassandra JDBC driver support dataCenter (dc=…)

DbSchema 9.0.0

Logical Design

DbSchema supports logical design. The logical design is database-independent, with entities and sub-entities:

Logical Design Sub-Entities

Sub-entities can be created by adding a field of type sub-entity to a table.
There are also supported different relation types:

Logical Design Relations

The logical model can be converted to a physical model and synchronized with the database.
We continue to improve the logical design also in the upcoming releases.

Reverse engineer using DDL

In the previous versions, we reverse-engineer the schema by reading the metadata from system tables.
For most of the databases, we call methods from the JDBC driver, and only for a few of them did we execute direct queries on the system tables.
Now, we are using a DDL parser that can reverse engineer the schema from the CREATE TABLE DDL statement.
The DDL is generated using commands like ‘Show create table’, or using a dedicated procedure (SqlServer).

Comment Tags

Besides text, the table, column, and foreign keys can use key/value comment tags.
The tags can be used in the automation scripts, and in the logical design for the entity or field’s physical name.
Comment Tags

Reverse Engineer Using DDL

This allows us to reverse engineer all parameters, like collation, partition keys, etc., and more table-specific parameters - like temporal tables, etc.
This feature is available for all databases where we found a way to generate the table DDL.
Here are the current databases where this feature is implemented:

MySql, MariaDb, Oracle, SqlServer, AzureSQL, Snowflake, Redshift, Vertica, Sqlite, Exasol, SAPHana, GoogleBigQuery, Databricks, Cassandra

Improvements for MongoDB

We do diagrams and schema validation rules for MongoDB. Whenever a validation rule is defined, we reverse engineer the collection structure using it.
If not, we deduce the collection structure by introspecting a few documents.
Whenever you design a collection, the collection validation rule gets updated.

In version 9 we added a text pane in the result pane:

MongoDB Result Pane

We renamed the virtual relation to relationship, and we refactored the menu.

Automation Scripts for generating HTML or PDF Documentation

We added more parameters for generating the HTML or PDF documentation.
Therefore we created a more flexible method in Java. Please have a look on the DbSchema API for details.

Further improvements

  • Feature: Result Pane error message as dialog
  • Feature: InfluxDB integrations
  • Feature: PDF documentation, add parameter for skipping tooltip comments. Improve look.
  • Feature: Add more options to the documentation dialog
  • Feature: Exasol support hashtype data type
  • Feature: Color picker editable hex value
  • Bug: Fixes and improvements in the DDL Parser
  • Bug: MongoDB load statement using the driver class loader. This solves issues with ObjectId.

Beta Update