DbSchema 9.6.4 Release Notes
DbSchema 9.6.4
New Application Toolbar
Show Relations between Views and involved Tables
This will show a line between views and materialized views and the related tables.
It requires ticking the setting ‘Layout / Show View-Table Relations’.
Improvements in Relational Data Explorer
The data editor insert buttons have moved to the top of the toolbar.
The buttons for switching to tree view and showing the visible columns are moved under the title split button.
Other Improvements
- Improvements in GIT Dialog, including tracking of changes for the model file
- Improve Cockroach connection strings
- PDF Documentation print column flags
- Publish dbschema.jar in Sonatype maven repository
- Add option under Model / Settings to set keywords which used in Index /Options will allow two indexes to use the same columns
- Improve HTML5 Documentation look and Dark theme
- Community Edition use Data Explorer and Query Editor for 1 table
Bug Fixes
- Locking screen in Data Loader Dialog
- Exclude database name from SqlServer trigger names
- Reverse engineer from DuckDB
- Reverse engineer from CSVFiles
- Postgres reverse engineer constraints with dots in the constraint name
DbSchema 9.6.3
Management Applications for PostgreSQL, MySql and SqlServer
We are adding database-specific management applications under the Tools menu, for:
- Disk usage
- Active Sessions and Locking
- Long Transactions
- User and Roles Management
The management applications are open-source and can be found in the Tools / Automation Scripts / Applications Dialog.
We are working to extend the list of applications. Any contributions or suggestions with queries are welcome.
Add docker image Makefile and Dockerfile to create a DbSchema docker image in the Manage / Java Plugins / Docker.
For those who are willing to run DbSchema in a Docker container, we included the required files under the Tools / Automation Scripts.
Add Synchronization Priority
Open the Schema / Synchronization Settings Dialog and set a custom priority for each table, view, procedure, function or trigger.
In the dialog you can see the default priority. Setting a custom priority will influence the order of the created objects.
For example, you may need a custom procedure to be created first, or immediately after a table.
Virtual Columns
Virtual columns won’t be created into the database. This virtualization is different from the database virtual columns.
More Features and Bug Fixes
- Feature: Press Arrow keys scroll diagram
- Feature: MongoDB do not show sub-collections if the number exceeds a configurable limit of 30 per node
- Feature: Upgrade GoogleBigQuery JDBC driver
- Feature: Add a Model Validator as Java Groovy
- Feature: Project Structure, show the tables under layout node with the schema name.
- Feature: Support for Greenplum database
- Bug: Improve MongoDB diagram arranger speed
- Bug: Fix issue in Naming Dictionary
- Bug: Infinite recursive call in Synchronization Dialog
- Bug: Issue in SqlServer rename table and columns
- Bug: Improvements in the Floating License Server
DbSchema 9.6.2
Improvements in the Floating License Server
Upgrade to new Apache libraries require installing the latest DbSchema version for the client and Floating License Server.
Connect to Oracle Cloud Autonomous Database
DbSchema is tested and fixed to connect to Oracle Cloud Database.
Connectivity details are here.
Improvements in SSL connection handling
We upgraded our Java code to use the latest libraries from Apache HTTPClient.
Feature: Improve menu icons
Upgrade MsSql JDBC Driver and Fix Connectivity Authentication Issues
Upgrading the JDBC Driver to the latest releases fixed many of the connectivity issues.
We also improved the connection dialog with more tips related to the known errors.
Further fixes:
- Feature: Replace URI with Path in code, in order to avoid issues on Corporate Windows Operating Systems
- Feature: Support ‘;’ semicolon delimiter in CSVFiles
- Bug: SqlServer reverse engineer collation
- Bug: GIT dialog merge functionality
- Bug: GIT dialog list not-deleted branches
- Bug: Move tools layout split pane to middle if is on the bottom
DbSchema 9.6.1
Encrypt Connections File
For a higher security, we are encrypting the connections file
The connections are saved in the user home ~/.DbSchema/connections/ folder, together with the password file, which is already encrypted.
MySQL Reorder Columns is Implemented into the Database
MySql reorder columns in the Table Dialog will implement the ordering into the database
Support for Oracle Packages
Oracle packages are listed under the project structure, but are not saved into the design model.
This operation requires database connectivity.
Because packages can be very large, we do not include them into the design model.
Support for Postgres Rules
Rules are listed under the project structure.
- Feature: Support for Postgres partition tables
- Feature: Edit Oracle Packages
- Feature: Introduce configurable data type font
- Feature: Support for Postgres rules
- Feature: Foreign key dialog searchable table combo
- Bug: Postgres reverse engineer materialized view columns
- Bug: SqlServer reverse engineer procedures and triggers
- Bug: Editing subfield when a parent field with the same name exists
- Bug: Data Explorer fix related to column selection
- Bug: Comments on Postgres domains and types
- Bug: Issue related to PostgreSQL reverse engineer - missing FKs from import
- Bug: SqlServer drop comments
- Bug: Fixes related to Connection Dialog Keystore
- Bug: Duplicate layout for MongoDB does not clone child fields
- Decision: Move the application designer to a separate software product. For now we take it out from DbSchema
DbSchema 9.6.0
New Design Model Export Dialog
Available under Model / Export As, the dialog allow exporting the design model to CSV files, in a configurable way.
New Welcome Screen
Show Row Number in the Data Explorer
- Feature: Release new version of the Salesforce JDBC driver, with support for configurable login website and API version
- Feature: SQL Editor parser option is asking if it should parse into a new project and synchronize with the current project, or directly into the current project
- Feature: Upgrade JDBC Drivers: MySql, MariaDb, SqlServer, Databricks,Oracle, MongoDb, Cassandra
- Feature: Print dialog, add ‘Zoom to Fit Page’ and ‘Input Zoom Factor’
- Feature: Load JDBC driver only for the active database. Improve connection management.
- Bug: Fix for MariaDB sequence options
- Feature: New Welcome screen
- Feature: Add scripts to dockerize DbSchema to the documentation DbSchemaCLI page
- Bug: Fix in Floating License Server
DbSchema 9.5.4
Upgrade to OpenJDK 17.0.11.
Fixes for Certificate TLS check.
DbSchema 9.5.3
JDBC driver for CSV Files
Data analysts are often working with CSV files, using Excel or text editors.
DbSchema can handle now CSV files in a relational way, so you can visualize and manage multiple CSV files similar with a relational database.
To use CSV files, start a new model and using ‘CSV files’ as data source.
This will ask for the folder where the CSV files are saved, and load them in DbSchema as tables, with indexes and foreign keys.
Behind the scenes, the JDBC driver is loading the data to an H2 database.
This allows to interact with the CSV files as they would be a relational database. You can explore data in a relational way, write SQL queries
and use the Visual Query Editor.
To save back the data changes to CSV use the command ‘save csv to
KeyStore tab to the Connection Dialog
In the connection dialog there is now a tab where you can load TLS keys into a keystore. There are two key stores: an authentication keystore and
a trust store. These are passed over to Java as system variables
java.net.sql.keyStore=<pathToStoreFile>
java.net.sql.trustStore=<pathToStoreFile>
The keystore files are saved to the ‘.DbSchema/connection/‘ folder in the user home.
Copy/Paste tables using SQL.
Move or clone tables between different design models using the option Edit / Copy as SQL and Paste as SQL.
Other Improvements
- Feature: Export documentation always enable ‘Generate’ button. Until now was enabled only when a file was selected
- Feature: Oracle add FIRST_ROWS hint for browsing large tables
- Bug: Postgres sync issues for indexes with INCLUDE clause
- Bug: Postgres reverse engineer columns using domains as data type
- Bug: Postgres reverse engineer tables using inheritance
- Bug: Postgres reverse engineer column comments as table comments.
- Bug: Oracle reverse engineer procedures, triggers and functions body text
- Bug: Postgres read-only connections do not import FKs
- Bug: MonetDB wrong class name in the JDBC Driver
- Bug: Multiple message on duplicate or invalid table or column names
- Bug: Oracle issues with reverse engineer tables with comments in Chinese. Upgrade the JDBC Driver.
DbSchema 9.5.2
UI Internationalization
DbSchema UI can show in english, spanish, german, italian, portugese, japanese, and chinese simplified.
We use Azure AI Translation.
This can be re-configured from Model / Settings Dialog
Floating License Server
Floating licenses can be used by teams, when a license can be shared across multiple users.
This is more for the cases when DbSchema is used by multiple users in a team, for short intervals to time each.
The floating licenses requires installing the floating license server on a separate machine. The client computers will connect to the floating license server.
The floating license server can be started from DbSchemaCLI using the command ‘license server’.
Manually Start DbSchema PRO Evaluation
In the earlier releases, DbSchema PRO trial was started automatically, after installation.
This has created confusion, as the design model was a feature the PRO edition, and as soon as the trial ended this feature couldn’t be used anymore.
Now, the PRO trial is started only at the user request, making users aware about this.
Improve Relational Data Explorer
Exploring the data from one table will open the table in maximized view. The view can be restored using the maximize button in the upper right corner.
Cascading a further table will automatically minimize the table.
Editing table data will show the editor directly into the table. Double-click cells to start editing. Press ENTER with Control pressed to enter new lines of text.
Multiple table cells can be edited simultaneously.
Auto-completion for Java Groovy Scripts
DbSchema can automate different tasks using Java Groovy automation scripts. Sample scripts are shown in the Tools menu / Automation Scripts.
Scripts can be added in the Automation Scripts dialog under User Defined.
You can also open the SQL editor, switch to Java Groovy and edit or execute scripts.
Now, pressing CTRL-Space a completion menu will show.
Placing the caret between the method brackets and pressing CTRL-P, the different parameter combination can be listed.
Other improvements
- Feature: Add method Schema.cloneTable()
- Feature: Logical design specify column auto_increment
- Feature: Upgrade Firebird JDBC drivers
- Bug: Editing foreign key columns was not possible for Pk tables with more than 100 records
- Bug: Editing column in table dialog, after sorting the columns, would break the sort
- Bug: Data explorer insert UUID in PostgresSQL
- Bug: Browse Filter pop-up not showing when the data view is scrolled to right
- Bug: Different bugs in GIT dialog
DbSchema 9.5.1
- Feature: Improve View reverse engineer using DDL if they have parameters or comments in the view body.
- Feature: Add Help / Create Article on Blog dialogs
- Feature: Improve the Report Designer
- Feature: Improve Dark theme
- Feature: Upgrade MAC OS certificate
- Bug: Data Importer always skips first line
- Bug: UserDataTypes, Functions and Procedures export didn’t work if they contains unescaped Java backslashes ‘'
- Bug: Export PDF documentation FK arrows
- Bug: License activation
- Bug: Postgres reverse engineer schema missing comments in some cases
- Bug: Fix in Export-Schema-DDL.groovy script
- Bug: Cassandra not listing keyspaces
- Bug: Application designer open another page when no value was selected in combo box
- Bug: Support for OpenSSH new keys. JGit brought a JSch artifact, conflicting with Mwide artifact.
DbSchema 9.5.0
- Feature: Improve license management
- Feature: First phase of supporting floating licenses
- Feature: Support for DocumentDB
- Feature: Improve support for Oracle computed and functional columns
- Feature: Data conversion rules support for computed and functional columns
- Feature: Add Automation Scrips to the Logical Design
- Feature: Cassandra connectivity add entry for SSL
- Feature: Support for GoogleCloudSpanner with Postgres Dialect. This is showing as a separate entry in the database list.
- Feature: Configurable max query number of lines
- Feature: Configurable data generator null percentage
- Bug: Google Cloud Spanner reverse engineer indexes do not load managed indexes
- Bug: Reverse engineer fails for schemes with hyphens in names (‘test-schema’)
- Bug: Sync issue with Postgres Timestamp and Timestmaptz default precision 6
- Bug: View definition validation when view name contains ${schemaName} or other tags
- Bug: Boolean and Bit data types
- Bug: Code review and improvement of handling Input/Output Streams
DbSchema 9.4.3
- Feature: Store database connections in a separate file ‘ ~ /.DbSchema/connections/connections.xml’, configurable in Model / Settings. Passwords are stored encrypted in ‘ ~ /.DbSchema/connections/passwords.xml’.
- Feature: New function evaluate(…) can be used in CREATE TABLE statement, to dynamically evaluate parameters. Sample CREATE TABLE ${table} ( ${body} ) ${createPartitionEnding} ${createClusterEnding} ${createSortEnding} ${createIndex1Ending} ${evaluete(options)} Where options can be someText${System.getProperty(“test”)}
- Feature: Support for DuckDB
- Feature: Export dialog add combo for the file selection
- Feature: Add Model /Settings parameter to define a custom location to store the DbSchema settings. This allows to share the settings in a team via GIT.
- Feature: Logical Design table and column options conversion to physical using regular expressions.
- Feature: Upgrade SqlServer JDBC Driver
- Feature: Faster Snowflake reverse engineer View columns
- Feature: Allow executing SQL insert statements with more than 1000 rows.
- Feature: Make the time limit to trigger auto-refresh after running ALTER TABLE statements configurable
- Feature: Implement DbSchema Test in Tools / Automation Scripts.
- Feature: Automation Scripts can be executed directly in the Tools / Automation Scripts dialog
- Feature: Improve Data Explorer insert components
- Bug: SqlServer issue in reverse engineer with Foreign keys using columns with spaces or dots.
- Bug: Exception in Grid Editor
- Bug: Issue in Logical Design Naming Conversion
- Bug: Temporary issue with printing the data types
- Bug: SQL Editor open multiple files from one editor menu is using the wrong files.
- Bug: Default value conversion dialog not working.
- Bug: SQL Editor auto-completion include SELECT, UPDATE statements.
- Bug: Postgres reverse engineer User Defined Types created in another schema
- Bug: SQL Editor caret move left-right go to the next line
- Bug: Postgres reverse engineer varchar[] and timestamp(precision)
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.
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.
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.
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.
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.
GIT Dialog
The GIT dialog got different bug fixes and improvements.
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.
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.
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.
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.
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.
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.
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.
Improve HTML5 Documentation
The documentation got a better look.
‘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.
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.
New Video Tutorials Dialog
The video tutorials are explaining more in details the DbSchema features.
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.
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.
Dark Theme
Improve 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
MongoDB
MongoDB collection flag for virtual (no validation rule) and also symbol in the diagram.
Setting it will skip implementing validation rules.
Import Model from External Formats
Add Dialog to import model from CSV file. See Model / Load from External Format.
Dark Theme
Improve 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.
Query Builder
Thanks to JavaFX configurable CSS look, we were able to improve our look and feel.
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.
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.
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 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.
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:
Sub-entities can be created by adding a field of type sub-entity to a table.
There are also supported different relation types:
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.
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:
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.