Export or forward-engineer

In the previous tutorial, we reviewed how to export or forward-engineer artifacts from your data model.  By the end of this tutorial, you will master exporting or forward-engineering of schemas and order artifacts for your data models.


Hackolade Studio is a data modeling tool with a purpose.  We recognize that it is easier for humans to understand data structures via graphical Entity-Relationship Diagrams.  The diagrams make it easy to design, maintain, and discuss with application stakeholders.  But data models are not an end in themselves.  Data models are useful so we can produce schemas, which we define as "contracts" between producers and consumers of data so they understand each other unambiguously during exchanges.  Data models are also useful to feed business-facing data dictionaries so data citizens can understand the meaning and context of data when using it in self-service analytics, machine-learning, artificial intelligence, etc...  In other words, a data model is an important mean to an end.




As the data model is not an end and of itself, we need to use data models as a basis for exports through forward-engineering.


Hackolade supports the forward-engineering of different types of artifacts:


Additionally, and most importantly, we forward-engineer the respective schema creation script for each target we support: DDL for RDBMS, dbCreateCollection script for MongoDB, CQL for Cassandra/ScyllaDB, Cypher for Neo4j, etc., including constraints, indexing, and other necessary commands.


For the JSON target, the menu looks as shown below.  The menu is dynamically adapted in other targets to reflect the available capabilities of each plugin:


Tutorial - forward-engineering menu



Exporting file-based artifacts

For file-based exports, you are first prompted to select the entities you wish to forward-engineer, plus various options which differ depending on the type of export:


Tutorial - object selection dialog


Then you are prompted with the OS-specific dialog to save in the folder of your choice, for example in Windows:




Exporting to instances and systems

When applying scripts to database instances, applying schemas to registries, or publishing data models to data dictionaries, whether you forward-engineer to on-prem or cloud instances, you must provide connection parameters and security credentials.  This is done via a Connections dialog such as:


Tutorial - Connections dialog


This confidential information stays on your local system with encrypted passwords.  With this screen you can connect to previously saved connections, as well as add, edit, copy, import, export, and delete connections.  


The connection settings differ for each target, depending on the respective protocols and authentication mechanisms of each target technology.



All forward-engineering functions are accessible either from the GUI application, or from the Command-Line Interface, whether directly or running in Docker containers.



In this tutorial, we reviewed how to export or forward-engineer schemas and order artifacts for your data models.  In the next tutorial, we will cover how to generate documentation and diagrams for your data model.