Home  |  Overview  |  Download  |   Purchase  |  Support  
Release history


What's new in version 8.x

  • You can find the latest changes here...

What's new in version 7.4


  • Added : The following model property tags can be used during script DDL generation
  • Added : User defined SQL syntax editor colors

Table Editor

  • Added : Edit the default data type parameters (length, decimals and array defs) directly in the column editor
  • Added : Delete column prompt replaced by column list with multi select options

Data type conversion

  • Added : Wildcard search option
  • Fixed : After conversion the list with properties was filled with default values. The old properties are now copied

Style Manager

  • Changed : Applied some small UI layout changes

SQL Server

  • Added : Support for SQL Server 2016
  • Fixed : Binary length parameter which was displayed as required (v2014)


  • Added : Support for Firebird 3.x


What's new in version 7.3


  • Added : Scroll to cursor using the mouse wheel in the design area or model navigator. No need to focus/click
    first before using the mouse wheel
  • Fixed : Entities remained on sub pages when removed from main page due to reverse engineering or db compare

Schema / Model

  • Added : "Enclose identifiers in quotes" option to the “model properties”

SQL Table Data Editor

  • Added : Button hints for easier navigation
  • Added : Number of rows indicator
  • Fixed : After viewing a text blob moving away with keyboard would restore the table view
    however moving away with mouse kept the table view as is

Table Editor

  • Changed : Column pick lists for check constraints and table scripts are no longer
    sorted on name but shown as defined per table

Microsoft Access

  • Added : Support for Access 2016. In order to connect to the newest office version from ERD Concepts install the "Microsoft Access Database Engine 2010/2013 Redistributable" package. Make sure to download the 32bit version of the drivers.

What's new in version 7.2


  • Added : Free text search in object browser
  • Added : New grid style for designer view (squares)
  • Updated : Caption color of docked tool windows
  • Added : A double click in the page list will open the page editor
  • Added : Added shortcuts INS, F2, DEL to page list
  • Added : Adding a new page will now open the page editor to enter the page properties directly
  • Added : Improved zoom behaviour with no objects selected

Model properties

  • Added : Foreign key constraint index name template

Table Editor

  • Added : Refresh table data option

Schema Editor

  • Fixed : Testing datatype mapping did not use the default template folder when selecting a target schema file

View Editor

  • Added : Parentheses are now removed during "Extract From Script"

Routine Group Editor

  • Added : Multi select in routine list

Compare with database

  • Fixed : Access violation when importing foreign keys for non-existing tables

Database Table Editor

  • Fixed : Only first 5 records displayed per table

Table SQL Editor

  • Fixed : Invalid / wrong screen position on dual monitor systems


What's new in version 7.1


  • Added : Auto layout type "Hierarchical" (Top-Down)
  • Added : Auto layout dialog for easier selection of the auto layout type

Object Browser

  • Added : Auto Increment flag (-AI) for table columns

Stamp object

  • Added : Output display filter

Rename Objects

  • Fixed : Case sensitive search option

HTML Report

  • Fixed : Data type output without additional options
  • Fixed : Foreign key table name output generated as error

Script Templates

  • Added : Improved template explorer for easier browsing and editing
  • Added : Default script template: "macro: %TERM%"

Reverse Engineering

  • Added : Added "ignore column collation name" option
  • Fixed : Reverse engineering of routines

CSV Export

  • Added : Page selection box. You can now export tables and foreign keys per page
  • Fixed : Data type output without additional options

Schema Editor

  • Added : Import option to load a template into an existing model file (refresh)
  • Changed : Schema ID replaced with script template (tpl) filename

Oracle (all versions)

  •  Removed : Foreign key delete rule "NO ACTION"


What's new in version 7.0


  • Added : Improved portability of model files. Each model file now contains the complete schema configuration. This way you can publish your model file to others without the need to add any local customized schema (.ini) definition files.

    Local schema configuration (.ini) files are now local templates used when starting
    a new model. You can create, your own, fully customized schemata files. There is no longer a
    hard-coded link between a schema template, the target database and an existing model.
    This also means that changing a schema template will no longer alter the model file in any way.

    Due to this new feature we decided to drop the support for the "data type repository" which
    heavily depended on fixed schema definition files. Now each model can contain its own data types
    so maintaining a global data type repository is no longer possible.
  • Added : Improved performance while working with large model files
  • Added : %TERM% macro for all script parts to support automatic translation of the script terminator sequences (GO, ;, / etc)
  • Added : A data table editor for direct editing of database tables. The used ADO driver must support schema extraction to retrieve the available tables from the database
  • Added : Mandatory flag to the designer hint for relationships
  • Fixed : XML encoding error (ecm files) which resulted in a non standard XML format

Version Control

  • Added : Custom archive filenames. After selecting "version control" you are prompted for a archive filename

Shape object

  • Added : Additional shapes Diamond and Arrows left\rigtht\up\down

Connection Editor

  • Added : Database connection string field in the database connection editor is now set through an edit box for easier configuration and copying the connection string to the Windows clipboard
  • Fixed : Cancelling the "Open UDL" dialog in the database connection editor would apply an invalid/empty connection string setting

Object Browser

  • Added : Do not generate indicator for database objects

Schema Conversion Tool

  • Added : Support for assigning new schema names
  • Added : Support for removing existing schema names

Execute SQL

  • Changed : (Blob) field display
  • Added : NULL indicator for empty fields
  • Added : Export to CSV option
  • Changed : Run key F9 remapped to F5
  • Added : SQL Format options: To Uppercase and To Lowercase

Table editor

  • Fixed : Renaming a column used in a trigger autoincrement definition would remove the referenced old column

Routine Groups

  • Changed : Move routines task replaced by a move routine flag in the import routines dialog

HTML Report

  • Added : Multiple sub reports for individual parts of a model
  • Changed : Generate reports from unsaved models

Schema Editor

  • Added : Renaming a data type will also change all references in the same schema file
  • Added : Reserved words are now included in the schema files
  • Added : Comma separated strings are now made available in a text listbox
  • Changed : Data type mappings are now included in each schema template file
  • Changed : The schema ID field is now a reference to a local script template file only. It's a free text input field in order to support custom database schemata
  • Fixed : Problem while renaming data types in a long list and trying to select a new data type afterwards. The new selection would result in an unexpected data type due to scrolling issues

SQL Server

  • Added : Support for SQL Server 2014
  • Changed : The length parameter for the Binary data type is now optional. It was required and default set to 0 which is invalid because the value should be none, 1 or higher.


  • Added : Support for Oracle 12c

Microsoft Access

  • Added : Support for MsAccess 2013


  • Added : Support for Interbase XE3


  • Added : Support for PostgreSQL 9.3 / 9.4


  • Changed : Renamed enum/set property "Items" to "Elements"


What's new in version 6.3


  • Added : Default database schema option
  • Added : Schema switch tool to quickly change a targeted schema
  • Fixed : Error in cardinality notation
  • Fixed : Incorrect validation error message was displayed when checking for duplicate object names
  • Fixed : Model change and creation dates always set to the current system date
  • Updated : Help documentation

Compare with database

  • Added : Compare with model file

Execute SQL

  • Fixed : Settings written to an old ERD Concepts folder

HTML Reporting

  • Fixed : Generators were reported as sequence

CSV Import / Export

  • Fixed : Error in the loading code of CSV files


  • Added : Added reverse engineering of the length_sematics parameter (BYTE/CHAR)


  • Fixed : Added missing index option "Using"


  • Added : Table/column comment ddl statements

Interbase 2009/XE

  • Added : Table/column comment ddl statements
  • Added : Missing routine comment script

SQL Server 2012

  • Added : Table comment ddl statement

MsAccess 2010

  • Removed : obsolete data types DECIMAL / HYPERLINK
  • Added : extra data types GUID / LONGTEXT / VARBINARY / SHORT / LONG
  • Updated : with compression specifiers

What's new in version 6.2


  • Added : Option to capture the model view to the Windows clipboard (SHIFT + F3)
  • Added : A validation warning for missing schema names
  • Fixed : Loading a model with added data type properties would not merge the added properties correctly
  • Fixed : Validation of primary key constraints. Invalid or missing primary keys are now detected with a hint flag

Diagram Navigator

  • Fixed : Accidental painting of satelite mode

Compare with database

  • Added : Option to disable script tags used during database/diagram comparison. Use the schema editor to customize the used macro tags. The following tags are currently defined:
    - table_column.collate
    - table_column.length_semantics (Oracle)
    - create_primarykey.storage
    - create_uniqueconstraint.storage
    - create_index.storage
  • Changed : Renamed the terms ‘Source’ and ‘Target’ as they were ambiguous to Model -> Database
  • Added : Grouped object detail view and object code in one display section. Double clicking a detail item will now automatically switch to code review
  • Added : The Display Filter is also be applied to the object detail list (show differences only)
  • Added : Visible option (check box) to select or deselect all flagged changes
  • Added : Objects without a schema name are also included in the compare results
  • Added : List is now sorted based on object type + name
  • Added : Display filter based on object type
  • Added : By default results are compared case-insensitive. An option is added to use case sensitive comparison
  • Fixed : Dropping a primary key constraint from the database would use the constraint name defined in the model instead of using the constraint name from the database
  • Fixed : Updating foreignkeys would reset/redraw all relationship lines

Reverse Engineering

  • Added : Database schema search box
  • Added : A new option "Ignore foreign key NO ACTION integrity flag". NO ACTION will be read as undefined (default empty)

Schema Editor

  • Fixed : Deleting an inputfield would not refresh the list properly


  • Added : Schema support for version 10.x

SQL Server 2012

  • Fixed : Added missing drop routine DDL statement to schema definition


  • Changed : Renamed property Symantec to Length_symantics (Char and Varchar2 data types)
  • Added : CASCADE keyword when dropping primary or unique constraints

Help Documentation

  • Added : Missing description of the auto increment (AI) column in the table editor

What's new in version 6.1

Table Indexes

  • Added : Index properties added to the index dialog. Properties can be defined with the schema editor. The property editor is hidden when no properties are defined

Reverse Engineering

  • Fixed : Auto delete of foreign keys when the option indexes and unique constraints" was switched off

Sequence / Generator

  • Fixed : Generator properties not loaded in editor
  • Fixed : Sequence and Generator names not saved without previewing DDL
  • Fixed : Tab order in sequence editor

Table Triggers

  • Fixed : Auto Increment name part truncated during script generation

Compare with database

  • Changed : Partially redesigned due to received requests to improve usability

SQL Server 2012

  • Added : Support for filtered indexes


What's new in version 6.0.0


  •  Added : A schema editor to edit or create custom database definition files including data types and auto-increments like generators and sequences
  •  Added : Cut/Copy/Paste/Delete mouse menu in text/code editors
  •  Added : Version control with compare function to generate "alter" scripts
  •  Changed : ERD Concepts is now UAC compliant
  •  Changed : Windows manifest is now embedded within the executable with invoker rights only
  •  Added : Object inspector now indicates mandatory properties with a special color
  •  Added : Support for translation of auto-increment columns: Serial/Identity/Trigger
  •  Added : Support for translation of generators to sequences when unsupported by the target DB and vice versa
  •  Changed : Default datatypes are now defined per schema definition instead of per user
  •  Added : Creation of MS Access 2010 ACCDB database (Tools menu) If you don't have Acccess 2007 or 2010 on your machine, you need to download the Microsoft Access Database Engine 2010 Redistributable
  •  Added : Shortcut for page options CTRL-F3
  •  Fixed : Coloring bug in the SQL syntax editor using quoted 'strings'
  •  Added : Satellite mode. When clicking on a table in the designer, highlight the table and all its immediately connected relations and tables
  •  Added : Having selected a table and its "Satellites", copy to selected tables and relationships to a new diagram
  •  Added : DDL previews for domains, sequences, views and routines


  •  Added : IDEF1X diagram notation
  • Changed : Cardinality and integrity notation are now displayed as a symbol. You can display the roles at the same time (separate option)

    - Crowsfeet
    - IDEF1X
    - Cardinality
    - Ref. Integrity
    - None (hide symbols)


  •  Added : Optional rounded border painting (default)


  •  Changed : Renamed to Shape with shape style setting
  •  Added : Ellipse shape style


  •  Changed : A bezier is created as straight arrow by default
  •  Added : Direction indicator when creating a new bezier. This makes it easier and quicker to place arrows between objects

Table Triggers

  •  Added : Option to create or edit a sequence/generator within the trigger editor


  •  Added : Optional schema name edit field
  • Added : Schema names are available in other object editors
  •  Added : Show the table triggers linked with a sequence from the sequence list (Sequence usage)
  •  Added : Duplicate name check with generators (Firebird 2.x)


  •  Added : Show the table triggers linked with a generator from the generator list (Generator usage)
  •  Added : Duplicate name check with sequences (Firebird 2.x)

Generate Database/Scripting

  •  Added : Option to include foreign key constraints in the table create statement

Object Browser

  •  Added : Shortcut buttons for collapse/expand/edit/search

Reverse Engineering

  •  Added : Select/Deselect all schemata option to the reverse engineering wizard

Execute SQL

  •  Added : Table columns are now sorted based on their ordinal position (DB dependent) in the object browser
  •  Updated : Browser icons
  •  Fixed : Sorting the result grid with fields including spaces generated an error message

Table Editor

  •  Added : Datatype indicator for domains above the data type property editor
  • Removed : Primary key divider option which depended on another table option "Sort primary key columns"(Obsolete)
  • Fixed : Domain data type properties not always saved when exiting with the OK button

Index Editor

  •  Changed : When a database schema doesn't support ordering of individual index columns (index level only) all keys are automatically set to the same sort order when changed

HTML Report

  •  Added : Visual indication that a report is being generated
  • Updated : New program icon
  •  Changed : The startup parameter list changed for HTMLReport.exe. This is now a
    configuration file with the following report startup settings:
    SOURCE=<VALUE> Source file (.ecm)
    OUTPUT=<VALUE> Default report output folder (optional)
    TEMPLATES=<VALUE> Default report template folder (optional)

    -- HTMLReport.exe startup parameter --
    CONFIG = <VALUE> Filename with the above report start parameters

    The selected template and preview setting are saved in this new configuration start file after generating the report.

Compare with database

  •  Added : Uses the reverse engineering feature to select the objects from the database, which offers more flexibility

SQL Server 2012

  •  Added : COLUMNSTORE, FULLTEXT and SPATIAL index types


  •  Added : Using BTREE/HASH index type definition


  •  Removed : Support for Oracle 8. Only the last three major versions are supported
  •  Added : Length symantecs (BYTE/CHAR) for varchar data types


  •  Added : Support for Interbase XE
  • Removed : Support for older versions 5, 6 and 7. Only the last three major versions are supported

SQL Server

  •  Removed : Support for SQL Server 2000 Only the last three major versions are supported

Ms Access

  •  Added : Support for Access 2010


  •  Added : Support for auto-increment columns
  • Added : Index sorting on column level


What's new in version 5.6.7

  • Added : Support for Ingres v10
  • Added : Support for SQL Server 2012
  • Fixed : Some windows theming issues in Classic mode
  • Fixed : Query Designer: SQL not updated when moving to a different cell
  • Fixed : Query Designer: SQL definition error when a field alias was defined
  • Fixed : Database translation editor: typing/selecting the same type as in thekey column the editor would disable the edit field

What's new in version 5.6.2

  • Added : "Save as Image" now includes a copy to clipboard option
  • Added : Shortcut menu to the table variable list
  • Added : Option to hide the SQL preview pane in the Query designer
  • Added : Option to align the column output vertically in the Query designer
  • Added : History support for 10 items in the Execute SQL window
  • Updated : Product manual
  • Changed : Adding a new column in the table editor will now insert the new column instead of adding it at the end of the list
  • Changed : Adding a new column in the view editor will now insert the new column instead of adding it at the end of the list
  • Changed : Removed "AS" keyword for table aliases in the query designer. For some database servers it was marked as an invalid keyword and generated a syntax error
  • Changed : The option "show full image" is removed due to perfomance and updating issues while working with large models
  • Fixed : Paint bug while dragging objects and scrolling/zooming at the same time. Thanks goes to Ronald Falder for reporting this issue

What's new in version 5.6

  • Updated : Install path changed to "Program Files (x86)" for 64 bit OS
  • Added : Auto layout option for copied objects after using page completion
  • Added : Active filter selection while typing in the object selection dialogs
  • Added : Always show shortlist in object selection dialogs (configuation setting)
  • Changed : Selection list handling and configuration
  • Added : "Unselect all objects" while in the <generate database dialog>
  • Added : Model create and drop scripts are now included as main menu item
  • Changed : Layout of the model script dialog
  • Added : A routine can now be marked as "global". This means on database creation the routine code is inserted right after the model create script and can therefore be referenced by tables, views and other objects
  • Added : Cursor position indicator to the internal DDL viewer
  • Added : Page properties to the model menu
  • Moved : Bookmark submenu moved to main menu bar (Bookmark menu)
  • Added : PostgreSQL: Column comment statement in database script
  • Added : The default resource folder is now configurable. You can create your own folder with customized database template definitions.
  • Changed : System folder configuration presented in a grid instead of individual edits
  • Added : Improved xml compatibility for .ecm file contents
  • Added : Inline column check constraint to the HTML report definition
  • Added : HTML Report: Model variables are allowed in the HTML header and footer sections
  • Fixed : HTML Report: HTML character conversion for "<>"
  • Added : HTML Report: We have changed the script object names to improve compatibility with Java script.
    All variables %NAME% are now prefixed with the object name. E.g:
    table -> %TABLE_NAME%
    routine -> %ROUTINE_NAME%
  •  Added : HTML Report: Made the location for report templates configurable
  • Added : The macro %TABLE_NP% can also be used in the datatype repository
  • Added : Table column naming template with %TABLE_NP% support
  • Added : Rename objects with an action setting: Replace, Prefix and Append
  • Added : Length control options for generated object names:
    Code Description
    Ln Left, copy n characters from the left
    Mn,m Mid, start at character n and copy m count characters (n always starts at position 1)
    Rn Right, copy n characters from the left

    TABLE_NAME -> %TABLE_NP:M5,3% -> E_N
  • Added : Custom script macro editor for table objects. Define your own custom table properties
  • Changed : HTML Report: The startup parameter list changed for HTMLReport.exe
  • SOURCE=<VALUE> Source file (.ecm)
    OUTPUT=<VALUE> Default report output folder (optional)
    TEMPLATES=<VALUE> Default report template folder (optional)
  • Fixed : Changing the parent key multiple times in the relationship editor would sometimes result in an invalid column defintion
  • Fixed : Optimized macro handling for column check constraints using the VALUE tag. E.g. field name BoolValue would be translated to BoolBoolValue
  • Fixed : Wilcard processing in the object selection dialogs. Setting the filter did not work as expected
  • Fixed : Default column value not added during CSV table export
  • Fixed : Reverse engineering through ADO would sometimes return a column as nullable while part of a primary key
  • Fixed : Ms Access alter table script definition contained an error
  • Fixed : Display error for table captions with a right alignment style. The text was not completly visible on lower zoom levels
  • Fixed : Relationship label positions where not reset after autolayout
  • Fixed : Mouse event would stay active in the designer after leaving and returning to the Design area


What's new in version 5.5.2


  •  Added : Import/Export options for CSV (comma separated values) files for table columns and table constraints (beta)

Model Designer

  •  Added : Parent and child tablenames to the relationship object hint
  •  Added : Option to display table triggers
  •  Added : Option to display table check constraints
  •  Added : Optional offset spacing value for auto-layout mode

Table Editor

  •  Added : Missing "generate" state indicator for triggers (Trigger tab)
  •  Added : Foreign key constraints are now generated in the table editor (DDL tab)
  •  Fixed : If the trigger flag "generate" is unchecked the trigger code is no longer displayed in the DDL tab
  •  Fixed : Primary key field sort order when adding and removing fields with the column list editor


  •  Added : "Generate" indicator flag


  •  Added : "Generate" indicator flag

Object renaming

  • Added : Rename capabilities for table columns (Rename objects dialog)

Print preview

  •  Changed : Increased maximum print scale to 20.0 for pdf output. There is a default setting in the erdconcepts.ini configuration file if higher scales are required


  •  Fixed : Display of varchar data types with array definition (all versions)


What's new in version 5.5


  •  Added : Keyboard shortcuts to several dialog windows
  •  Added : Name templates for domains, sequences and generators
  •  Added : Object schema names for tables, views and routines can now be selected through a drop down list
  •  Added : Text formatting when saving search and validation results to a file

Model Designer

  •  Added : New design object: Bezier lines with arrows to indicate relationships between arbitrary objects
  •  Added : New design object: Rectangle shape object with variable border width and optional rounded corners
  •  Added : Print scale factor is now saved per diagram page instead of per model
  •  Added : Printer orientation is now also saved per page
  •  Added : Option to display table column descriptions
  •  Added : Option to connect generators and sequences to table triggers
  •  Added : Object hints are now displayed with object type
  •  Added : Object hint threshold option (configuration window) to determine when to show object hints
  •  Changed : Print page preview is now painted above all objects
  •  Fixed : Style manager settings not saved after closing ERD Concepts
  •  Fixed : "Postion" menu items renamed to "Position"
  •  Fixed : Model navigator was not updated when the object display style was changed


  •  Changed : Image objects can be resized. Auto size option added to go back to the default size based on image width and height


  •  Added : "View" display settings
  •  Added : Option to extract view columns from defined script

Reverse engineering

  •  Added : Reverse engineering options are now saved for later use
  • Added : Option to add a script terminator to triggers, views and routines during reverse engineering. This also applies to "Compare with Database"
  • Added : Option to extract view columns from script

Generate database

  •  Fixed : Defined columns in table trigger code were not properly quoted <[column]>


  •  Added : %PAGENAME% macro to the note object


  •  Added : Search option to the RoutineGroup editor

Table editor

  •  Added : Indexes and triggers to table DDL preview
  • Changed : ALT+U and ALT+D for moving columns up and down in the table editor are changed to

SQL Query Designer

  •  Added : Partial redesign of the sql query designer
  •  Fixed : <*> symbol is no longer enclosed in quotes

Execute SQL

  •  Added : Query timeout option (default 30 seconds)

PostgreSQL 9

  •  Fixed : Added missing script template file

What's new in version 5.4.2

  •  Unicode release

What's new in version 5.4


  •  Added : Support for SQLite 3
  •  Added : Model option to auto generate foreign key constraint indexes when creating a new relationship
  •  Added : Generate foreign key constraints within the table create statement instead of using alter statements. Change of resource script needed (Use SQLite 3 script as an example)
  •  Added : Saving model image as PNG (Portable network Graphics)
  •  Fixed : Error in window repositioning when working on dual monitor systems. Showing modal windows outside the desktop boundaries

Generate Database

  •  Added : Button for selecting all objects

Reverse engineering

  •  Added : Additional option: Extract table indexes
  • Added : Additional option: Extract table check constraints
  •  Added : Additional option: Extract table triggers

Trigger editor

  •  Fixed : Load SQL button in the trigger dialog pointed to the default model folder instead of the SQL script folder

Model designer

  •  Fixed : Access violation (List Index out of bounds) while calling AutoLayout in a sub diagram page

Routine Groups

  •  Added : Edit routines directly from the object browser or search results without opening the routinegroup
  •  Added : Script preview section in the Routinegroup editor
  •  Fixed : Moving routines between groups would not update the object browser

HTML Reports

  •  Added : Default HTML output folder. You can now start the the report generator with the following parameters:
    - Param 1 -> ERD Concepts model file
    - Param 2 -> Default report output folder
  •  Fixed : Destination folder never used during report generation


  •  Added : Support for Interbase 2007 and 2009
  • Added : Reverse engineering of table comments
  •  Changed : Object naming length set to 67 characters for version 7 and higher
  •  Fixed : Comparing of generators always failed


  • Fixed : Comparing of generators always failed


What's new in version 5.3


  •  Added : New AdventureWorks demo model for SQL Server 2005 (working version)
  •  Added : You can now use "translate" to duplicate an existing model
  •  Moved : Query designer menu option under the model menu
  •  Fixed : Painting bug in the text editor when adding very large lines (3000+)

Model designer

  •  Added : You can now resize the design area by moving objects beyond the left and top page boundaries
  •  Added : Auto layout option (horizontal or vertical) as defined in the configuration editor
  •  Fixed : Resizing objects outside the page boundaries
  •  Fixed : Pressing the right mouse button while dragging objects will cancel the drag operation
  •  Fixed : Copying objects to a new model through the clipboard would sometimes raise an access violation


  • Added : "Generate" as script option

Stamp Object

  •  Added : Property "Row lines visible" in order to show or hide the row dividers. Before the border visible property controlled the visibility of the row dividers

Query designer

  •  Added : Identifiers are now quoted when the option "quote identifiers" is selected in the environment options dialog (script tab)

Generate Database

  •  Changed : All selected objects are now marked for generation instead of only the last selected table. When there is no selection the complete model or active page will be generated

DDL Viewer

  •  Changed : Scripts are printed with "courier new" as font

Execute SQL

  •  Added : Option to log errors only instead of listing all executed commands in a batch

Database script generation

  •  Changed : Domains are always exported even if they are not used. This way you can use the domain list as a user datatype definition list

Search Dialog

  •  Added : You can now limit the scope to tables, relationships, views and routine groups

SQL Server 2005

  •  Added : Support for (PRIMARY) XML indexes
  • Updated : Database translation table

SQL Server 2008

  •  Updated : Database translation table
  • Fixed : Reverse engineering of primary xml indexes

What's new in version 5.2

Generate Database

  •  Added : Per page, a "generate" script option for tables, relationships, views and routine groups
  • Added : Script option to apply the NULL constraint keyword
  • Changed : On database generation the result script is splitted into a separate create and drop script which can be saved to individual files

Environment options

  •  Added : Button to restore the .ecm file extension association in Windows explorer. Options -> Tab Cache -> "Associate .ecm files with ERD Concepts"

HTML Report

  •  Added : Button to select a different output file
  •  Added : Model begin/end scripts to default report
  •  Added : Object description fields to the default report
  •  Fixed : Comment output

Compare with database

  •  Added : Option to compare view scripts
  • Added : Option to compare routine scripts
  • Added : Option to select or unselect actions through a context menu
  •  Removed : Checkbox selection in the compare result list
  •  Fixed : Routines are no longer added to a model in separate groups
  •  Fixed : Access violation when updating the database (script generation)
  •  Fixed : Adding relationships to a model when a table already exists

Reverse engineering

  •  Fixed : Adding relationships to a model without adding the constraint tables including missing columns (auto generated)

Object selection

  •  Changed : Shortlist is now integrated into the selection area


  • Added : Added a model option to auto-arrange table columns based on primary keys or keep it as-is (user based)
  • Changed : Default primary key indicator changed from "*" to "PK" and added as a separate display column like the FK and NN indicators


  •  Added : Model option to regenerate the relationship name when a connected table is renamed
  • Fixed : The primary key was not applied to relationships based on key order but on table column order which could result in an invalid foreign key definition


  •  Fixed : Transparent style property


  • Removed : Auto generate drop script option because the drop script is generated to a separate file which always uses the default drop view statement


  • Removed : Auto generate drop script option because the drop script is generated to a separate file which always uses the default drop routine statement

Model properties

  • Added : Model begin/end scripts splitted in a create and drop section

Object script templates

  • Fixed : The way script templates are loaded and saved internally to prevent overwriting existing template changes made in other edit screens

Print preview

  •  Fixed : Print preview window didn't resize properly when trying to make it smaller

Execute SQL

  • Added : Option to print a result set
  • Fixed : Removed an obsolete edit area from the value preview section
  • Fixed : Using quote identifiers now applies the correct syntax for object names
  • Fixed : Browsing a resultset sometimes caused an exception while displaying values

Query Designer

  • Added : Columns are highlighted when a link is clicked
  • Changed : Link context menu under a right mouse click only. A left mouse click will highlight the specific columns
  • Changed : Table name is displayed with the table alias name instead of only showing the table alias

DB2 UD 9

  • Added : Native reverse engineering script

Firebird 2.x

  • Added : Native datatype INT64
  • Added : Foreign key contraint update/delete keyword "RESTRICT"
  • Removed : Schema names are no longer listed during reverse engineering and database comparison. These schemas (owner names) are simulated by the latest "official" Firebird ODBC driver and are not supported natively by Firebird


  • Added : Support for Beta version 9.x
  • Fixed : Version 8 attribute dimension notation order

SQL Server 2005/2008

  • Added : Datatypes Varchar(Max), NVarchar(Max), Varbinary(Max) (using the old "max" property has become obsolete but is still available)

What's new in version 5.1


  •  Added : Selected objects displayed with focus indicators instead of a different line style
  • Added : New environment option "Show full image while moving objects" to increase performance while working with large models
  • Added : You can now mark a page as default startup page through the page list. The start page is shown first after loading from disk. This way you can skip the very often large main page and go directly to a sub model page. (Tip: Use right mouse button while in the page list)
  • Added : Option to set the number of columns to display while using the object selection dialogs like "Add Model Objects" and "Reverse Engineering" Options -> Select List -> Horizontal Columns
    0 = Single column vertical list
    1..4 = Number of horizontal columns to display
  • Added : Option to display a short list during object selection. This is a list with all selected objects
  • Added : Option to restrict the length of displayed object names
  • Added : Print option for search and validation results
  • Added : Option to clear all bookmarks
  • Changed : Opening a model through windows explorer no longer reloads the last opened model(s) (desktop files)
  • Fixed : Pasting a relationship while the child table was deleted would raise an error condition
  • Fixed : Minimizing the application to and from the system tray would not restore some gui elements resulting in a forced restart
  • Fixed : Problem while locating objects through the object browser and search/validation results
    Fixed : reloading an already opened model from disk would only show empty objects

Model options

  • Added : Max. visible rows option also applied to views and routinegroups

Page Properties

  • Added : Comment/description field

Page Completion

  • Added : Add Related Tables
  • Added : Add Related Tables Dialog (specific table selection)
  • Added : Add Missing Relationships
  • Added : Option to delete objects from the model while working on submodel pages

Add model objects dialog

  • Added : Display list per object type
  • Added : Filter input saved for later use
  • Changed : Existing objects are no longer listed
  • Changed : Relationships are no longer listed and are added automatically


  • Added : Additional gradient header style: top to bottom
  • Added : Style property Footer text color
  • Added : Style property Footer fill color
  • Fixed : Repositioning routines using the routine editor would not refresh the routine list properly
  • Fixed : Moving routines through a sub model page would not set the default source routinegroup properly

ID Stamp object

  •  Added : Page name
  • Added : Row spacing
  • Added : Row line color
  • Changed : Always auto sized

Table object

  • Added : Additional gradient header style: top to bottom

Table editor

  • Fixed : A scenario in the table editor where column names where not saved when adding multiple columns at a time

View object

  • Added : Additional gradient header style: top to bottom

Database script generation

  • Added : Execute SQL button to run a generated script without first going through several windows. However a database connection must exist otherwise an error is raised

SQL Server [2008]

  • Added : Support for "XML" indexes
  • Added : Support for non-clustered primary keys

What's new in version 5.0

  •  Added: Page/model properties to object context menus
  • Added: Selection filter options to the "add model objects" dialog
  • Added: Support for bookmarks to save the current view in the designer.
    The following shortcuts can be used:
    CTRL + SHIFT + [1..5] -> Save bookmark / save position
    CTRL + [1..5] -> Restore bookmark (go to saved position)
  • Added: Column reordering buttons in the index/key editor
  • Added: Support for routine groups. Routine groups are used to display routines in your model and for grouping related routines together
  • Added: GIF as image export format
  • Added: Separate schema input field for tables, views and routines
  • Added: Detail selection of objects during database generation including views, routines, sequences and generators
  • Added: Database translation based on datatype level instead of datatype groups
  • Added: Datatype repository to define and configure datatypes and reuse them in multiple models
  • Added: "Enclose identifiers in quotes" option added to environment editor.
    This setting now also applies when generating table sql scripts through the table object context menu
  • Added: Redesign of the Execute SQL module
  • Added: Print scale is now saved within the model file. The actual printscale is displayed in the print preview window
  • Changed: Moved the Domain, Sequence and generator lists back to the model menu instead of tabs on the bottom side of the design window
  • Updated: The following object macros are modified or added

    %TABLE_NP% Object name
    %TABLE_SP% Schema name
    %TABLE_NAME% Oject name + Schema name

    %VIEW_NP% Object name
    %VIEW_SP% Schema name
    %VIEW_NAME% Object name + Schema name

    %TRIGGER_NP% Object name
    %TRIGGER_SP% Schema name
    %TRIGGER_NAME% Object name + Schema name

    %ROUTINE_NP% Object name
    %ROUTINE_SP% Schema name
    %ROUTINE_NAME% Object name + Schema name
  • Updated: Objects used in multiple submodels are no longer copied with all properties. Each shared object now points to only one global instance of an object. This reduces overall file size and loading time
  • Updated: Minimizing the application to the taskbar is now conform windows
  • Updated: "vertical row spacing" property renamed to vertical font spacing and also applies to views and routinegroups. Row spacing can also be set to a negative value (values range from -10 to +10)
  • Updated: Help file contents

What's new in version 4.3.3

  • Added: When connecting to a database you can choose to manual login instead of saving the username and password on disk
  • Added: "Computed by" data type for Firebird databases
  • Added: Missing border color property for view objects
  • Fixed: Filename in the statusbar was not properly updated when model was saved under a new filename
  • Fixed: View columns not synchronized properly in sub diagrams
  • Fixed: Pasting objects would not clear the selected object (single instance)
  • Fixed: Wrong sql scripts were generated with "compare with database". This occurred with routines defined as function or package
  • Fixed: Removed some repaint/refresh problems in the docked object lists (domains, routines...) under Vista
  •  Fixed: Foreign key parent mandatory flag was not saved when linked between two tables without columns
  • Fixed: Syntax highlighting used the incorrect colors under certain situations
  • Fixed: PostgreSQL all columns in tables on database side are always presented as "NULLABLE" using the ADO driver
  • Fixed: SQL Server alter table scripts (syntax error)

What's new in version 4.3.0

  • Added: Image preview window with zoom level control and page selection
    for saving a model as image
  • Added: Todo List per model (CTRL-T)
  • Added: Support for reserved words. Names are checked during model validation. Lists are located in the resource folder with the .rw file extension which can be edited with a normal text editor
  • Added: Column comment export statement for SQL Server
  • Added: New style property "Gradient end color" for tables and views
  • Added: DDL preview tab in table editor
  • Fixed: Style settings for an object on a sub page were applied to the main object
  • Fixed: Ms Access script didn't allow double quotes <""> around identifiers. Changed to <[]>

What's new in version 4.2.1

  • Added: Option to select a different default data type (Environment option)
  • Added: Dialog to view and edit all model script templates
  • Added: Templates are splitted in separate files and added to a configurable template folder
  • Added: New PostgreSQL data types
  • Change: Triggers are created after views and routines in DDL script
  • Fixed: Some paint/refresh issues in the model designer
  • Fixed: Added missing table name in the compare with database update script when a new column is added to a database table
  • Fixed: Adding the same table multiple times in the Query Designer would set an invalid table alias
  • Fixed: Help file (pdf) page reference index
  • Fixed: Drop scripts for primary and foreign keys in MySQL
  • Fixed: Name field of sequences and generators was restricted to 30 characters

What's new in version 4.2.0

  • Added: Query designer tool to design SQL queries based on model tables
  • Added: Relationships are reconnected after using the auto complete option in the "Add model objects" dialog
  • Added: View settings to model options including a name template
  • Added: Table image to indicate a primary key / foreign key column
  • Fixed: SQL Server 2008 data type specification
  • Fixed: Reverse engineering of SQL Server view and routine code over 4000 characters
  • Fixed: Missing comma in generated ddl script using check and unique constraints

What's new in version 4.1.7

  • Added: Option to display view columns. A view is now presented as a table but with rounded corners
  • Added: New design object "Image" to add trademark pictures and/or company logo
  • Added: Pressing the ALT key when selecting a groupbox will temporarily disable the auto select contents feature. This way it becomes easier to just resize the groupbox
  • Added: Improved display control for comparing views and routines. Both panes are now included in one single control. This makes it easier to compare sql scripts
  • Added: Auto complete option in "Add Model Objects" dialog. Auto complete will select all relationships for the tables within the active model page
  • Added: Enhanced mousewheel support. While set to scrolling mode you can now use the "shift" key to scroll horizontal and use the "ctrl" key to zoom in or out
  • Added: "Restore" button to the page properties editor in order to apply the default model page settings
  • Added: Separate pdf help file for keyboard shortcuts (Quick reference)

What's new in version 4.1.0

  • Added: Changed the compare with database feature and added generation of forward engineering sql scripts when comparing with an existing database
  • Added: Table editor key shortcuts
    F2 - Jump between column and property editor
    ALT + U - Move column up
    ALT + D - Move column down
  • Added: Additional script variables. Some databases, like SQL Server need access to the schema / table name part of the the full table name for generating comment DDL scripts. You can use one of the following variables to define the DDL statement:
    %TABLE_NAME% -> Full table name including schema name
    %TABLE_SCHEMANAME% -> Non quoted schema part of the table name definition
    %TABLE_OBJECTNAME% -> Non quoted table name part without schema prefix
  • Added: Support for SQL Server clustered indexes
  • Added: Support for Oracle packages (Routine list)
  • Added: Parent mandatory flag can now be controlled from within the relationship
    editor. Context menu item removed
  • Added: Option to auto select groupbox contents when selected (Environment option
  • Added: Help file in PDF format in order to support searching and printing
  • Added: Option to import columns from another table (table editor)
  • Updated: Removed invalid relationships context menu item "Page control"
  • Fixed: Using the "P" key in the comment editor would focus the page list. The "P" hotkey is replaced by CTRL + L
  • Fixed: Single quote syntax highlight problem which occured when using multiple
    single quotes in one line (<text>''<text>)
  • Fixed: Removing a sequence would sometimes result in an error situation
  • Fixed: A relationship would drop the parent key after renaming a linked alternate key
  • Fixed: SQL server identity script generation which didn't allow for "identity(0,1)"

What's new in version 4.0.2

  • Added: You can alter the <database> ini file to let HappyFish generate the table constraints definition as part of the table script instead of using separate alter table statements. See the help documentation for more information
  • Added: "Add to model" tool to import model objects into a submodel page through an object list
  • Added: New page option to the designer context menu
  • Added: Print option: Print page border (light shade of gray)
  • Fixed: Improved reverse engineering of Oracle indexes
  • Fixed: MySQL script generation to allow support for AutoIncrement fields
  • Fixed: Primary key script generation without separate key definition. Added support for unnamed primary key constraints
  • Fixed: The SQL term character of a connection is now properly applied
    within the Execute SQL console

What's new in version 4.0.1

  • Added: Context menu for table column list
  • Added: Column selection feature in index/key editor
  • Added: Create Access Database option (Tool menu)
  • Added: Schema prefix to the execute SQL table list
  • Added: Show/Hide option for relationship caption text
  • Added: Auto delete unused foreign key option (model option)
  • Fixed: Reverse engineering of default values for Interbase and Firebird
  • Fixed: Pressing the Execute SQL button in the table SQL dialog would keep the dialog open behind the Execute SQL window
  • Fixed: Generating scripts for sequences and generators
  • Fixed: Added missing default scripts for Oracle 11g database

What's new in version 4.0.0


  • Added support for sub models (pages). You create new submodels by adding "page" objects to your design. Each page has it's own properties like font and background color
  • Added support for creating object references. This means you can have multiple instances of the same object in different submodels
  • The declaration of foreign key constraints is now more restricted in the area of column usage. You can select a parent key, primary or alternate key, which also enforces the used keys. You can still remap the foreign key columns or even let the system recreate them for you
  • Added support for alternate keys for defining relationships. To accomplish this the
    unique constraints are moved to the index/key list in the table editor
  • Added a separate tab for check constraints in the table editor
  • Added description and comment fields to table check constraint editor
  • Added: Index columns can now have a sort order even for primary keys and alternate keys
  • Added cut option besides copy/paste
  • Views are included in the design area and are therefore no longer supplied through a separate list
  • You can have multiple search/validate/translate message windows open at the same time
  • Domain/routine/sequence/generator windows are now embedded in the design window and are no longer floating around. You can access them through a tab control at the bottom of the screen
  • Removed persistent groupbox property from the environment settings. It caused problems mainly during copy paste operations when switched on. Therefore we decided to remove it completely and added a select option which you can find through the context popup menu
  • Removed the option to auto destroy unused foreign key columns. In most cases
    it became an unwanted operation when working with existing databases
  • We've decided to drop the separate schema name field. To use schema names in your model you can add them by prefixing the objectname with the "." character
  • User data settings are now stored per computer user profile
  • User script templates are now stored per computer user profile
  • The table 3D border paint style is replaced by a drop shadow feature (table option)
  • Added support for multiple style settings using a new style manager
  • Changed zoom option "full screen" to "zoom to fit"
  • Changed: Foreign key constraint names are now checked for uniqness per table instead of per model
  • The following table macros are available:

    %TABLE_NAME% : Schema and table name
    %ENTITY_NAME% : Table name without schema name and "."
    %ENTITY_SCHEMA% : Table schema name without table name and "."
  •  Design grid and page preview colors are now automatically set depending on the used background color
  • Added new search option: Whole words
  • Option to minimize the application to the windows system tray area
  • Option to turn sql syntax highlighting off
  • Setting model option "Max. Visible Columns" to zero will allow for unlimited visible columns per table

Model properties

  • Removed entity column alignment option
  • Changed: Entity autosize width / height are combined in one single option "Autosize"

Execute SQL

  • Statement terminator option moved to the database connection editor. Each database connection now has it's own terminator character
  • Added a list with all database tables

Database related


  • Dropped support for Oracle 7
  • Added support for Oracle 11g


  • Paradox "databases" are no longer supported in version 4

Ms Access

  • Added support for Access 2007


  • Added support for Informix 11


  • Added native reverse engineering script for Firebird 2

SQL Server

  • Added support for calculated columns
  • Added reverse engineering of column/table descriptions


  • Added data type OID

What's new in version 3.3.7

  • Fixed: Trigger comment editor was disabled
  • Fixed: Table macro %ENTITY_NAME% did not work on trigger code
  • Fixed: Domain column references not properly generated when enclosed in quotes

What's new in version 3.3.6

  • Fixed: Foreign key field color wasn't properly restored when the option active highlight foreign keys was enabled
  • Fixed: Changes during editing didn't always trigger the modified flag / undo buffer
  • Fixed: Oracle "is not null" column constraint did not set the column NN flag during reverse engineering
  • Fixed: Removed generator import message after reverse engineering for databases which don't support the use of generators

What's new in version 3.3.5

  • Small, non critical update to fix a node problem in the object browser. The tree view nodes didn't always update/refresh properly using the generator and sequence nodes

What's new in version 3.3.4

  • Added: Pressing <space> in a grid (data types) will cycle through all available data types
  • Added: PostgreSQL 8.x support for CHAR data types without length specifier
  • Added: Oracle 10g: Reverse engineering of table and table column comments
  • Added: "Compare with database" will detect (not sync) dropped objects like
    columns, indexes, constraints etc
  • Added: Storage parameter options for indexes
  • Added: Included table storage parameters to model search option
  • Fixed: Oracle 10g: Reverse engineering of NCHAR data length

What's new in version 3.3.2

  • Added: Table style option: Foreign key text color
  • Changed: The table prefix is also used with the foreign key name check
    when the reuse existing flag is enabled
  • Fixed: Script editor: writing non-English letters such as å,ä or ö in combination with a random following letter would fail. Example: "åt" becomes "tt", ät becomes "tt" and öt becomes "tt"
  • Fixed: Pressing the escape key during or after dragging objects would result in an unwanted undo operation
  • Fixed: Database generation of foreign keys would add the table schema to the foreign key name, removed
  • Fixed: Varchar(Max) data type for sql server 2005 would not export properly during script generation

What's new in version 3.3.1

  • Added: Quote names (case sensitivity) made optional when generating a database script
  • Added: A template list for table storage scripts
  • Added: Model comment text added to default model options
  • Changed: Model comments moved to the general tab

Compare with database

  • Added: Additional compare options
  • Added: Data type comparison for native script connections
  • Added: Nullable flag comparison

SQL Server 2000

  • Added: Reverse engineering of the routine type category: Function or Procedure
  • Added: Reverse engineering of index sort order ASC / DESC

SQL Server 2005

  • Added: Reverse engineering of the routine type category: Function or Procedure
  • Added: Reverse engineering of index sort order ASC / DESC
  • Fixed: Reverse engineering of XML types
  • Fixed: Reverse engineering of Varchar(Max), NVarchar(Max), Varbinary(Max)

What's new in version 3.3.0

  • Added: Support for MaxDB 7 with native reverse engineering script
  • Added: Native reverse engineering script for Interbase 7.x
  • Added: Native reverse engineering script for Informix 10.x
  • Added: Comment field for indexes
  • Added: Comment field for triggers
  • Added: Routine create script has now separate sections for functions and procedures. Added type field for routines to control this behavior
  • Added: Object names are now quoted in database scripts (when required). This includes fieldname macros in table scripts
  • Added: Support for Interbase 7.x data type arrays
  • Added: Cursor position indicator in Execute SQL window
  • Added: 4 Memory slots in Execute SQL window to quick save / restore sql statements which are not yet executed
  • Added: Clear style settings option for each object. Previous there was no easy way to go back to the default system style once a new style was saved
  • Added: Table storage field to specify additional table create options
  • Added: Entity display option: Entity Images. Used images are located in the subfolder "graphics". Each image is 16x16 pixels (maximum) in size and can be replaced with your own custom bitmap images
  • Added: Model navigator, object browser and comment window can now be floating or docked
  • Added: Additional zoom tool to quickly zoom into specific areas of your design
  • Added: Generators to "Compare with database"
  • Changed: Database resource script syntax in order to make it easier to read
  • Changed: Database resource script per supported version
  • Updated: Informix 10 data types
  • Changed: Database resource templates per supported version
  • Updated: Design object creation cursors
  • Updated: Help documentation
  • Fixed: Showing blob fields in the execute SQL window would sometimes fail with an exception
  • Fixed: Syntax editor will now respond correctly to tab characters in text. It will convert tab characters to text with 4 spaces
  • Fixed: Closing the table SQL tool window with ESC key would lockup the application


What's new in version 3.2.2

  • General: internal file format upgrade (version number 5)
  • General: Important update of the MySQL 5 implementation
  • Added: Support for Ado data type mappings per database
  • Added: Support for foreign key data type mappings per database
  • Updated: Primary key divider is no longer shown when a table only contains primary key columns
  • Changed: Index editor / Index sorting. Sorting is now defined per column
  • Changed: Database translation table is dropped and replaced by a more flexible way of database translation using data type groups
  • Fixed: Database connection settings became invalid while using long filenames or database names
  • Fixed: Many to many relationship table name generation (schema prefix)
  • Fixed: Ado reverse engineering for MySQL and PostgreSQL through ODBC

What's new in 3.2.1

  • Added: Support for MySQL 5 Spatial data types
  • Fixed: Pressing cancel in the table editor would remove the foreign key indicators
  • Fixed: Vista support for the main toolbar. The toolbar sections did not paint properly under Vista while dragging

What's new in 3.2.0

Important change:

Relationships no longer support separate constraint names. The object name will be used as constraint name and the constraint name is no longer optional. The main reason is to make the design process of relationships more consistent with the way we define tables, indexes, views, routines, etc. The constraint name field is dropped in this version and you need, where needed, update the relationship names manually

Other changes

  • Added: Native reverse engineering scripts for:
    - Oracle 10g
    - SQL Server 2000/2005
    - PostgresSQL 8.x
    - MySQL 5.0 (build 5.027)
    Other databases will follow
  • Added: Clicking on a column in the Execute SQL grid will zoom in on the column data. This to view column data containing multiple lines
  • Added: Execute SQL will also return result sets from functions
  • Added: Right mouse button options Expand / Collapse in object browser
  • Added: Table constraints and triggers to "compare with database" feature
  • Added: Extended synchronization options in "Compare with database"
  • Added: Environment option: Cancel edits with escape key
  • Added: Triggers, table constraints, views, routines, sequences, generators to HTML Report
  • Added: Schema prefix check in the table, view and routine editors for the "entity" name field
  • Added: Optimized schema support in several areas
  • Changed: Layout selection moved from reverse engineering window to the environment options to support the same layout settings in the compare with database part
  • Changed: Execute SQL results are returned in the active window tab. Added CTRL-F9 to run the query in a new result window tab
  • Changed: Increased the execute sql history buffer to 20 entries
  • Changed: The primary key constraint is now displayed under the table constraints node in the object browser
  • Changed: Color for selection markers in diagram window (black on white)
  • Changed: Renamed "Procedures" to "Routines" to indicate that we also can have functions in a database
  • Changed: Removed "Ignore existing" from reverse engineering. This is in the future the default setting
  • Changed: Combined a HTML report layout in one single file with sections
  • Changed: Relationships and tables can no longer have the same name (including schema name)
  • Fixed: Validating a diagram with views and procedures would raise an exception
  • Fixed: Comment linefeeds in HTML report

What's new 12-09-2006

  • Added: Auto create foreign key option:
    Prefix column with parent table name + optional separator
  • Added: Additional table macro %ENTITY_NAME%:
    In order to improve schema support there was a need for an additional table macro. The entity macro will point to the table name without schema notation. The original %TABLE_NAME% macro will show the physical table name including the schema prefix. The file format will be updated so all table element names like indexes, constraints and triggers will use the entity macro as new default
  • Added: The original table name in the table editor is now splitted into two parts, an entity name and a schema name. Schema name + Entity name must be unique for each model where the schema name is optional
  • Fixed: The relationship name template was created including the table schema prefix. This
    could result in an invalid constrained name

What's new 11-24-2006


  • Added: CTRL-N Hotkey for a new model
  • Added: CTRL-O Hotkey for a opening an existing model
  • Added: CTRL-P Hotkey for printing
  • Added: Table column alignment spacing is now calculated based on the selected font size (was previous fixed on 12 points) This may alter your current design layout in width
  • Added: Printer name in print preview window
  • Fixed: When a foreign key would contain invalid columns (out of sync) a copy paste operation in the model failed

Script generation

  • Added: Two new sections for exporting comments to the database
    (TABLE_COMMENT, COLUMN_COMMENT). These sections are supported for
    Oracle, IBMDB2 and Informix
  • Changed: Table parts are now by default separated with a comma character
    (Removed from the script definition file)
  • Changed: For dbms which support domains with check constraints and default values, these are no longer defined per column on export but are defined only per domain (Applies to Firebird, Interbase, PostgresSQL)
  • Fixed: SQL Server script (Percentage sign)
  • Fixed: Firebird script (Double comma character)

What's new 11-12-2006

  • Added: A domain data type in a foreign key definition can be set to the native data type on creation (optional)
  • Added: Relationship roles can be selected through a dropdown list which contains already used roles in a model
  • Added: Improved script generation speed for large models
  • Added: The full data type is displayed in the table editor
  • Added: Optional tab key support for the column grid (table editor)
  • Added: Option to copy an existing column (table editor)
  • Added: Missing integrity flags for SQL Server 2005
  • Added: Validation now checks for duplicate object/constraint names
  • Added: Additional notation style crows feet + roles
  • Added: Several other small improvements
  • Added: "Keys Only" attribute display value
  • Changed: Removed print thick lines option (default)
  • Changed: Rename objects allows an empty replace with value to enable removing parts of an object name
  • Changed: The index display option now works without the column display option (optional)
  • Updated: Database translation table
  • Fixed: Quick lookup tool did not always expand properly
  • Fixed: Error during HTML report generation
  • Fixed: Table caption alignment option
  • Fixed: Relationships did not connect properly when table auto size was disabled
  • Fixed: Model comment was not exported properly
  • Fixed: Empty primary key constraint was dropped on database generation
  • Fixed: %Table_Name% macro for triggers was not translated on export
  • Fixed: ADO would report unsupported fk integrity flags during reverse engineering
  • Fixed: Print bug using thick lines option which caused lines to have different weights
  • Fixed: Copying domains between different dbms platforms would not translate the data types
  • Fixed: Domain name unique check failed
  • Fixed: Print to PDF did not work properly (missing lines)
  • Fixed: Added missing notation to the model options editor

What's new in version 3


  • Configurable design width and height by dragging objects beyond the design window borders (right or bottom side)
  • DBMS Schema name support as: <SCHEMA>.<OBJECTNAME>
  • Improved relationship placement routines
  • Table data type display style (char case)
  • Syntax highlighting for SQL code editors (standard SQL set)
  • Zoom factor selection tool in main toolbar
  • Default model zoom factor to configuration
  • Data types in object browser for domains and tables
  • Triggers and table constraints to the object browser
  • Quick lookup tool in the object browser window for the selected object
  • Much more actions can be undone after being changed including model display settings
  • Resizable design navigator
  • Design navigator mouse wheel and panning support
  • Font style settings for individual objects
  • Printing of page numbers
  • Print line width adjustment setting (thick lines)
  • Setting for a default model folder
  • Model panning tool
  • Active foreign key table highlighting
  • Configurable execute SQL terminator character
  • Smart SQL Statement parser in execute SQL window and DDL viewer
  • Model pre and post create scripts
  • Table name is now displayed in the dialog caption
  • Text search now remembers the last 15 search items through a dropdown box
  • Additional macro's for foreign keys to the HTML Report
  • Foreign key create and delete rule replaced by separate checkboxes in the configuration options window
  • Optional display filter in the DBMS translation editor
  • Parent mandatory flag for relationships is now properly set after reverse engineering. Previous the Parent Mandatory flag was default set to true
  • Reverse Engineering schema support
  • Compare with database schema support
  • Relationship constraint name macro %RELATION_NAME%
  • Improved reverse engineering and compare With database functionality
  • Rename button for database connections
  • Configuration window to customize foreign key data type mappings
  • Custom macros for database scripting (.def files). Custom macros are inserted into the script after ddl generation
  • Generation of domain DDL script is now optional.
  • Rename objects feature
  • Domain DDL export is now optional. If the DBMS supports domains the user can choose to export domains as native data types only
  • Support for custom post script macros (Model Options)
  • Support for Informix Dynamic Server
  • Show differences only option in compare with database window


  • %TAB_NAME% macro changed in %TABLE_NAME%
  • Snap to grid now rounds down when below the midpoint and up when above the midpoint
  • Modified flag per model tab instead of showing it in the general status bar
  • Some relationship display style settings are removed
  • Zoom tool buttons moved to main toolbar
  • Foreign key columns are no longer cascade updated except for primary key changes and the optional cascade rename feature
  • Refreshed the object browser node images to make it all easier to read
  • Improved foreign key comparison in the Compare with database window
  • Unique and check constraint names are no longer optional
  • Primary Key constraint name replaced by an index definition (Primary Index) to prevent invalid creation of indexes. The conversion rule to version 3 is as follows:
  PK constraint Primary index Result
  specified none A primary index is created
  Specified specified Index is renamed with the PK constraint name
  none specified No action (Index is used as PK constraint name)
  • When opening a database connection the database connection description is shown in the gui instead of the ado provider name
  • Removed Select Objects color from the configuration settings. The optimal color is now automatically determined by HF depending on the selected background color
  • Execute SQL window: Result view column width restricted to a specific width
  • Comments are no longer exported in a fixed comment format. This makes it possible to insert the comments to the DBMS with DDL statements. Comment codes are added to the comment macro result tag.
  • Help documentation


  • Added support for version 9
  • Added support for sequences
  • Added support for distinct types


  • Added support for sequences


  • Added support for sequences


  • Added support for generators


  • Added support for generators


  • Happy Fish now uses "PRIMARY_KEY" as the default PK Constraint name
    This alias is the same as "PRIMARY" used by MySQL. Please note that MySQL
    still doesn't support custom primary key constraint names

SQL Server

  • Added: Identity definition is automatically disabled when used as source for a
    foreign key column
  • Added: SQL_VARIANT datatype
  • Added: Support for VarChar(max), NVarChar(max) and VarBinary(max)
    The "Max" property will override the length specifier
  • Removed: Float datatype length specification


Happy Fish Version 2


  • Fixed: Compare database feature failed when verifying tables defined in different schema's under SQL server 2005 (08-16-2006)
  • Fixed: Primary key indicator misplaced in the Medium table display style
  • Fixed: After upgrading from a previous version saving the model with "Save As" would fail
  • Fixed: Copy Paste of tables with foreign key indexes failed. Indexes remained while there was no relationship defined. While in the table editor the index couldn't be removed
  • Fixed: Updating a relationship failed when primary key columns of a parent table was changed. This only happened when the FK delete mode was set to No Action. This resulted in a invalid foreign key relationship
  • Fixed: HTML report window position appeared centered on dual monitor systems
  • Updated: Help documentation
  • Changed: Increased column name edit field length in the table
    editor to improve support for longer column names
  • Fixed: Reverse engineering of tables with large amount of data took
    a very long time to complete. The internal extraction routine for
    indexes has been modified to address this problem
  • Fixed: Reverse engineering error were multiple foreign key definitions were added to one single relationship object between two tables
  • Added: Reverse engineering now checks for duplicate column names. This in regard to reverse engineering Oracle databases. The ADO driver would report columns twice
  • Changed: Table editor -> duplicate column names are now checked after pressing OK not after editing a column name. This to prevent the duplicate name popup message box
  • Fixed: Support for brackets in the table editor (create scripts and column names)
  • Added: Support for SQL Server 2005 data types VarChar(Max), NVarchar(Max) and Binary(Max)
  • Fixed: Stack overflow error which occurred when defining a circular reference
    between three tables. To reproduce the error add three new tables and
    add relationships between them table1 -> Table2 -> Table3 -> Table1
  • Fixed: SQL Server identity field set to disable when used as a foreign key
  • Fixed: Domain default value not exported properly
  • Fixed: Domain check constraint value not exported properly


  • Fixed Ado driver support for the Oracle provider for OLE DB
  • Fixed SQL create script with the correct statement terminator character "/"


  • Auto Increment flag is no longer copied when creating a foreign key definition

SQL Server

  • Identity seed and increment default to seed = 1, increment = 1


  • Support for SQL server 2005
  • Support for Oracle 10g databases
  • Support for Firebird
  • Inheritance of primary keys through existing relationships. Changes in the parents primary key now get inherited by the child tables except for column data types
  • Changes in a parent table are now cascaded through all connected child tables
  • Relationships can now generate foreign key indexes (optional)
  • After reverse engineering the tables are no longer stacked on their default position. They are now properly positioned within the model boundaries (Horizontal or Vertical)
  • Hint & warning messages are now each configurable through the environment settings
  • Model messages can be saved to a text file
  • Auto size table width/height options
  • Max. visible table columns option to restrict table height for large tables
  • Table column info can be displayed aligned (grid column style)
  • Model properties title/author/copyright/version are now saved to the default model options
  • Missing Oracle 9i data types Timestamp / Interval
  • Added an primary key indicator


  • User templates to the view and stored procedure editors
  • Views and Procedures now have two additional options
    - Export script
    - Auto generate drop script
  • Search option to the view/procedure list
  • Included some missing ADO data types to reverse engineering
  • The ADO data type mapping is now using the DBMS translation table to match the best available DBMS data type. Before each DBMS definition had it's own data type mapping list which made if more difficult to configure and maintain
  • HTML Report is now also accessible through a shortcut button
  • Undo/Copy/Paste support for domains
  • Comment field for domains
  • Support for [SHIFT] key scrolling option. Keep the shift key pressed while moving the mouse to the outer sides of the design window will scroll the model
  • Layout property for notes
  • Alignment property for table names
  • Free resize for all design objects
  • Resize object tool
  • Visual design grid (optional)
  • Snap to grid feature while placing/moving objects
  • Groupboxes now also move their contents (optional)
  • Creating objects trough hotkeys
    "T" Table
    "G" Groupbox
    "R" Relation
    "M" Many-to-Many relation
    "N" Notes
  • The note object can now process macro's to insert model attributes into the text.
    The following macro's are available:
  • Export settings (database generation) are now saved for later use
  • Print scale is now also visible in the diagram window
  • Search text option to all text and code editors
  • DDL generation for selected tables only
  • Visual design object "Stamp" to display model attributes
  • Text search for data type / domain attribute values
  • Data type conversion tool
  • Foreign key data type mapping. In some cases a native data type needs to be changed to a alternative data type when used within a foreign key definition. Examples are AutoIncrement en serial data types. You can add additional mappings by editing the file "fkmapping.ini" with an external text editor. However changing the entries is discouraged
  • Model navigator. A birds overview of the current visible model used for easy navigation
  • Reintroduced gradient table captions
  • Non-identifying relationships are now painted with a dashed line style. You can uncheck this option in the model options editor to keep the old style
  • Support for MySQL 5 including triggers, views and procedures
  • Support for Paradox Tables
  • Support for IBM DB2 Universal Database 8
  • Unknown/invalid column data types in the table editor are displayed in different color
  • Tool to compare a model with an existing database schema
  • Tool to convert table column data types (Data type conversion)
  • Table filter to the reverse engineering window
  • Table filter to the generate database window
  • Execute SQL window now supports multiple datasets to be opened
  • Execute SQL window now supports a visible script history


  • Moved Auto update NN flag for foreign keys to model options (Saved per model). When other users would load the model with a different setting the original foreign key state would change without notification
  • ADO data type mapping, used for reverse engineering, is now accessible through the tools menu in the main window
  • Views en procedures are now combined in one single window for easier access. Menu items combined to "Script objects"
  • Main window toolbar is now ordered in a more logical way following the menu layout
  • Database create/drop script, tables are no longer exported sorted by name.
    They are now generated according to the defined parent/child relationship order
  • Database DDL create and drop scripts are now combined in one single file. This is a
    great benefit and time saver while creating and debugging existing databases
  • Domain export to database DDL restricted to selected tables
  • The model is no longer checked for errors before generating a database. Use the separate validate option instead. Before you had to correct all errors first before you could export a database schema. This introduced some problems while just debugging a new design
  • Views & Procedures: replaced header/footer definitions with user templates
  • Support for a non-modal domain list. Domains can be edited directly in the
    main window while working on the model
  • Removed script preview controls from the view and procedure lists
  • Alignment options are now accessible through a tool window
  • Align to grid option now only applies to selected objects
  • Groupbox and note editors: Enabled form resize
  • Designer zoom factor is now modified in smaller steps
  • Canceling a new model within the "save as" file dialog will keep the current window active. Before, the window was closed without further notification
  • Domain properties are now editable within the table editor
  • Standard HTML report layout
  • Removing foreign key columns after deleting a relationship now also updates all other table settings like indexes, table constraints and scripts. Also table validation has been improved to check for missing column references
  • Removed the lock objects feature. This option is replaced by locking the model by default. Only
    when the space bar is pressed objects are allowed to be moved. Optional through the environment settings window.
  • Changed: Auto deleting of foreign keys is more restricted. If a foreign key column is used in any other part of a table definition (scripts, triggers, etc.) the foreign key is NOT deleted. This to prevent that a table definition becomes invalid when a relationship is deleted.
  • Foreign Key "Create/Delete rule" moved from environment settings to model options
  • Double clicking in the object browser no longer closes it's expanded nodes.
  • Removed: Auto update NN flag for foreign keys option. The not null flag for foreign keys is now
    always managed by the relationships parent mandatory flag
  • DBMS Translation table updated

Bug Fixes

  • Tables where not always sized properly when a bold caption was used
  • Relationship labels where not properly positioned when a large font was used
  • Undo "edit" operation when an object name was changed resulted in an access violation
  • HTML Report did not properly export the column description field
  • Removing a column from a parent table used by a relationship would not update the relationship columns
  • A relationship where the parent and child table are the same would use the primary column also as a foreign key column, referencing itself. This happened when the create rule was set to reuse existing
  • Adding a new object to a translated model would not register the object in the object browser
  • "Select All" command would not clear the active selection properly
  • Default window position was desktop center. This caused wrong positioning on systems with dual monitors and extended desktops
  • Oracle SQL script column output generation (Default/NN syntax)
  • Stamp context menu "position" should read "position"
  • Help was displayed twice when invoked from the main window
  • Object browser would disappear and the splitter would get misplaced. Object browser is now checked for a minimum width
  • Interbase column definition must export the default value before the NOT NULL flag. Script template updated
  • Close All Windows would not add the model files to the recent file list
  • Deleting a primary key column would not update a primary key index definition properly
  • Print preview would raise an error message when there was no printer available
  • SQL Server data types TEXT and NTEXT were created default with a length parameter. Removed.

Ms Access

  • Missing numeric data type

SQL Server

  • Added: identity export attribute tag definition. When used you must set the enable property to true first. The following flags are now properly supported:


  • Added: "CASCADE CONSTRAINTS" keywords to the drop table DDL command


  • Added: Character set and Collate data type options
  • Added: Missing UNSIGNED flag for float data types
  • Removed: Unsupported SET DEFAULT referential integrity flag

Version 09-20-2005


  • Not null flag for foreign keys are automatically updated when the parent mandatory flag changes (relation editor). To enable this feature check the auto-update not null flag in the environment options screen
  • New model option: Not Null indicator (-NN), default disabled
  • New notation style "Referential Integrity"
  • Group boxes can now resize from all sides
  • Attribute data types are now also saved to file with XML tag "full type" to enable reporting through a html page (no data type formatting required). This also applies to domain data types
  • Full Page tool button to design window
  • "Lock Objects" option which is used to disable model drawing (object moving) is now saved to the output file
  • HTML Report generator
  • Bold text font style for table captions
  • Comments for views and procedures
  • Tables can now reference themselves with a foreign key relationship
  • Table script splitted in "Before Create" script and "After Create" script


  • Table script splitted in "Before Create" script and "After Create" script
  • View and procedure lists are no longer sorted by name to preserve/support code dependencies. instead a manual sort button is added. The way you define Views en Stored Procedures may change in upcoming releases
  • In the object browser -> Model -> Tables -> Indices: The index name reads as IDX_%TAB_NAME% instead of the expanded table name, requested
  • Object browser is now defined globally instead of within each design window
  • Object browser settings are now automatically stored
  • Overall performance while working with designs containing large number of objects

Bug Fixes

  • Editing domains, views and procedures through the object browser would not set the modified flag
  • Loading an empty model at startup (desktop) would raise an error message
  • Print button not working in the Generate database > SQL output window
  • Deleting a domain did not update the associated table columns
  • Model modified date was not updated when saved to disk
  • Changes made through the search text or validate dialog did not appear in the object browser
  • Several problems in the reverse engineering module, importing from ODBC data sources now also returns foreign key information. The kind of meta-data extracted from the database still depends on the features an ole db provider supports. I could use some practical field testing reports concerning the current reverse engineering implementation. Please let me know about your experiences using it
  • Setting a column as primary key would not turn on the Not Null flag when generating scripts
  • Comments where not properly exported to database script
  • Table scripts using column names between brackets, brackets where not removed when generating the database schema
  • HTML reporting using filenames + paths longer then 255 characters would fail
  • The options Show Indexes (in model options) was not saved in the project, on reopen the default choice was used
  • When creating a new relationship, the name of the PK field of the master table was transferred in the child table with a "1" appended
  • Close menu item should read "Close All"
  • Index column names indent value not properly set within the table display routine. Names are now properly positioned.

PostgreSQL related

  • Domain SQL support (PostgreSQL 8)
  • Added "CASCADE" option to drop table syntax
  • Removed drop primary key constraint definition
  • Functions are now created before table triggers
  • Drop stored procedure syntax (should read "DROP FUNCTION")


   DB Toolbox
  Data Generator
  Paradox to MDB
  CSV Splitter
  Dataset to CSV
  Connection string checker
  Empty Tables


Home Product Purchase Support  
 DB Toolbox
 Model gallery
What's new
Release history
 Buy now
 Upgrade now
Upgrade policy
Request invoice
Bug report