Here are the available packages for the Toad Data Modeler.

Additional Information:

Package Description
Rename Function Based Indexes Instructions here
Create ToDo Items Macro This macro allows you to create ToDo items to all selected entities or relationships at once. Select multiple items in your model, right click one of the selected items and choose Macros | Add To Do Item. New form opens. Define Name, Category and Text and click Execute to create ToDo items.
Diagram to Web Page

Instructions here

Custom Excel Import – loading of custom properties from excel files

Instructions here

Target database: DB2 LUW v 10.5
Author: Petr Sklar

Add Extended Properties

This package contains macro for adding Extended Properties to all objects of selected object type. The package is valid for SQL Server 2005 – 2014 models.

Blog article:  

Package for Universal Model – Allow Null Attributes in Keys

Instructions here

Customized DDL code generation for Oracle Instructions here

Customized DDL code generation for Microsoft SQL Server

Example that shows how to modify generation of DDL for Microsoft SQL Server 2008, 2012 and 2014.

Fix for PER Report Generation

This package fixes problem reported here:


I am using version of TOAD.  I am trying to produce a report of various pieces of my Logical Data Model that contains more limited information, as the reports are 1,500+ pages long containing information about all the objects. However, when I un-check the 'Generate All Model Objects' checkbox in the Report Wizard, I get a MS JScript Runtime error that says the following:

Script:  BasicRTFLERReport
Description: Object Expected
Row: 3024
Column: 9

If I can only produce these huge reports, I don't think they'll be very useful to our business people or our developers.  I can see that I have a 'Reports/XSL Transformation…' object when printing out the Physical Data Model, but some of our key documentation (especially textual information around business rules and processes) is likely to be stored in the Logical Data Model. Can anyone tell me how to limit my output while printing out the Logical Data Model? 

Thank you!"

Instructions: Unzip the archive and replace both original application files in the folder where you installed Toad Data Modeler.

Default path to TBG file: C:\Program Files (x86)\Quest Software\Toad Data Modeler 5.2\Packages\System
Default path to TXM file: C:\Program Files (x86)\Quest Software\Toad Data Modeler 5.2\Packages\System\Metamodels

Fix for LER Report Generation

Instructions: Unzip the archive and replace original application file in the folder where you installed Toad Data Modeler. 

Default path: C:\Program Files (x86)\Quest Software\Toad Data Modeler 5.2\Packages\System

Set Attribute Focus to Caption This package contains a specific customization. It changes focus from Data Type combo box to Caption on Attribute Properties form in physical model.
JavaScript Snippets for Eclipse IDE This ZIP archive contains XML document with JavaScript Snippets that can be imported into Eclipse IDE and used for Macro / Scripts development.
External Storage for Stored Procedures and Functions Instructions here
Report Entities on WS Instructions here
Rename FK Column

This small macro allows you to rename FK attributes. In case you use e.g. ID attribute as a primary key in all tables in your model and need to name FK columns with parent table names, e.g. CUSTOMER_ID, ORDER_ID and so on, use this macro and change names of existing FK attributes at once.

More information here

Add or Remove Prefix

Add or remove prefix for tables and columns in your model.

Enable Autoincrement and Unsigned options for all primary key columns of Integer type data

This macro is for MySQL models only. After import into Toad Data Modeler you will be able to easily enable Autoincrement and Unsigned options for all primary key columns of Integer data type. 

Instructions: Open MySQL model and click Macros | Set Autoincrement. 

Delete Unused Users Macro (Oracle Database Only)

Instructions here

Set Disabled Foreign Key Constraint

Instructions here

Customer Feedback Add-On Package

This sample package contains source and all the features described Toad Data Modeler Help file, section Customization.

How to Use Combo Boxes in Customized Forms

This package modifies the Synonym form. DataComboBox, DataStaticComboBox and ComboBox components were used as an example of how to use all three types of ComboBox components for customization.

Import ERwin 7.1 XML Files – Oracle 10g and Oragle 9i

This file contains user packages (.txg files) for import of ERwin 7.1 XML files of Oracle 10g and Oracle 9i database.

Note: The packages have been created in March 2010. 
Details on how to import the packages are included in the attached file. erwin_import.pdf.

Identity – Logical Model

This package adds the Identity checkbox to Attribute Properties dialog | General tab to logical models.  You can select/clear this checkbox before you convert your Logical model to Physical model of MS SQL Server database.

Important! – For model conversion, you can use either the Simple Model Conversion feature or Convertor. If you use Convertor, the following modification is necessary to convert the Identity option to the Physical model.


  1. In Convertor, select Model2 (MS SQL Server db).
  2. Click the Settings for Model1 tab (- OTPs for your LER model).
  3. Expand Entities | Attributes and select the Identity checkbox.  Tip! – Select the settings under user OTPs. Expert mode must be turned on.
    For Simple Model Conversion, no modification is necessary.


  1. Unzip the attachment.
  2. Close TDM.
  3. Copy the attached .txg file to the same location where you store your user packages (where e.g. My Package.txg is). 
    Default path is:
    Commercial version:
    C:\Documents and Settings\user\My Documents\Toad Data Modeler\Installation Name\Packages\{DCB5CB9B-CF65-4350-86B5-285D246FC5AC}
    Beta version:
    C:\Documents and Settings\user\My Documents\Toad Data Modeler Beta\Packages\{DCB5CB9B-CF65-4350-86B5-285D246FC5AC}
  4. Run TDM and open your LER model.

Database/Model Type: Logical Model, conversion to MS SQL db
Size: 4 KB
Date: 25 March 2009
Author: Daril

Reverse All Related Tables

Instructions here

Extra Objects – DDL Script Generation

The packages add a new object ExtraObject where you can write any text you want (see the new ExtraObjects item in Model Explorer). The text will be generated in DDL script (remember to select the ExtraObjects checkbox on tab What to Generate).


You can also define where you want to generate it via the Order of Generated Objects feature (Model menu).


Important! – The package is valid for Toad Data Modeler 3.4.15 and BETA 3.5.x. Please do not use the package in older TDM versions.

Database: All supported databases (except for MS Access)
Size: 19 KB
Date: 29 September 2009
Author: Mario

Macro "Set Generate"

The package contains a macro to select or clear the Generate checkbox for all objects of your model, objects on the particular Workspace or only the selected objects.

Database: All databases
Size: 14 KB
Date: 13 January 2010
Author: Mario

The package has been made for Toad Data Modeler 3.4.16 and BETA 3.5.3. Feel free to use it for next versions.

Details on how to use the macro are contained in macrosetgenerate.pdf.

Macro "Comments on Workspace"

The package contains a macro that displays entity and attribute comments in Notes on the Workspace. The package has been made for Toad Data Modeler 3.4.16 and 3.5.x.


  1. Copy the .txg file to the location where you store user packages. Default location:
    C:\Documents and Settings\user\My Documents\Toad Data Modeler\Installation name\Packages\{DCB5CB9B-CF65-4350-86B5-285D246FC5AC}
  2. Run TDM.
  3. Make selection of objects on the WS.
  4. Select Macros | Selected Objects | Display Comments on Workspace.

Database: All databases
Size: 4 KB
Date: 22 March 2010
Author: Mario

Macro "Change Table Type"

The macro allows you to define a table type for your entity(ies) on the Workspace.The package has been made for Toad Data Modeler 3.5.10 and next versions.


  1. Copy the .txg file to the location where you store user packages. Default location:
    C:\Documents and Settings\user\My Documents\Toad Data Modeler\Installation name\Packages\{DCB5CB9B-CF65-4350-86B5-285D246FC5AC}
  2. Run TDM.
  3. Make selection of objects on the Workspace.
  4. Select Macros | Change Table Type.
  5. Specify your table type.
  6. Click Execute.

Database: MySQL 5.0, MySQL 5.1
Size: 4 KB
Date: 18 May 2010
Author: Vaclav

Macro "Object Phase"

The package Object Phase contains the following features:

  • New combo box available on Entity and Attribute forms
  • In the combo box there are five Phases predefined
  • Selected value are stored with model
  • New macros for entities and attributes: Write Phase to Message Explorer, Delete all objects except objects in defined Phase, Set generate for objects in defined phase (only entities), Set phase

Database: MS SQL 2008
Size: 32 KB
Date: 26 May 2010
Author: Vaclav

Macro "Generate Entity and Attribute Description in CSV File" – Logical Model

The GenerateCsvLogicalModel.txg file contains macro "Generate CSV File" available in Macros menu in your logical model. The macro creates a list of entity and attribute descriptions of all entities on the currently active Workspace OR of entities you selected on the Workspace.

While you select the macro, you can define your own marks to separate items and quotation marks.

The ouput is in a CSV file in the following format:



Logical Model
Size: 7 KB
Date: 1 June 2010
Author: Vaclav

Macro "Delete Synonyms with Not Assigned Object"

The package contains a macro that deletes from your model all synonyms that don't have any object assigned.

Use Case:

  1. Do the reverse engineering.
  2. In your reversed model, select Macros | All | Delete Synonyms with Not Assigned Object.

Database: All dbs with synonyms
Size: 3 KB
Date: 20 July 2010
Author: Mario

Macro and Sample files for importing logical data from external XML

This package contains several files. Reverse engineered model, xml file with logical information (captions, notes) and package that will enable you to load logical information from external XML file to your reverse engineered model.


Order Entries Alphabetically

This package is based on script written by Mario. It adds new menu item Order Entities Alphabetically to Macros menu.  After execution all entities will be sorted alphabetically (Click Model | Order of Generated Objects to see current settings.)

Additional Information:

Change Identity Type – DB2

This package allows you to change identity type for selected entities on workspace or attributes in physical model explorer. Import the package to TDM.

After you import the package, you can:

  1. Select entities on workspace and click Macros | Selected Objects | Change Identity Type. Or, you can:
  2. Select any attribute in physical model explorer, right click on it and choose the item from Macros item from popup menu. Or you can also:
  3. Search objects via Objects Viewer (Objects | Objects viewer) and then select attributes in result list, right click any of them and choose Macros item from popup menu.
Save Entity DDL

This small macro allows you to generate DDL script for selected entity to a file. For every entity new Save Dialog will open.

Find Empty SimpleText graphics

This small macro will help you to find empty SimpleText graphics on your workspace. It also outputs statistics to Message Explorer/Log.

After you import the macro, new menu item will appear in TDM. Click Macros | Search graphics in menu.

Infer Relationships – Ruby on Rails models

When you reverse engineer database system used by Ruby on Rails, you may want to infer relationships. This add-in will help you.

Import the custom package, open your model and click Macros | Infer Relationships (Ruby).

Here's a sample model as specified in rails for the "medicine" model:

create_table "medicine", :force => true do |t|
t.string “sku”, :limit => 50
t.string “lic_number”, :limit => 50
t.string “name”, :limit => 50
t.datetime “lic_startdate”
t.datetime “lic_enddate”
t.integer “medicine_manufacturer_id”, :limit => 8
t.boolean “active”, :default => true
t.datetime “created_at”
t.datetime “updated_at”

And here's the model for "medicine_manufacturer"

create_table "medicine_manufacturer", :force => true do |t|
t.string “lic_number”, :limit => 50
t.string “name”, :limit => 50
t.string “addr1”, :limit => 50
t.string “addr2”, :limit => 50
t.string “town”, :limit => 50
t.string “postcode”, :limit => 50

In both cases you may be wondering "where's the ID?!?" — Rails creates an id column in each table by convention so the medicine_manufacturer_id can be assumed to refer to the ID column of the medicine_manufacturer model.

Macro "FastColumnRename"

This macro will prepare "Alter table xxx rename column" statement for you. This is a time saver in situations when column should be renamed, but is not in index, alternate key etc. Simple solution for simple operation.

Additional Information:

Display Entity Comments in diagram

Use this macro to iterate through selected entities and create graphical notes with entity comments. If you wish to create graphical notes for all entities, use CTRL+A to select all objects on workspace and then click Macros | Display Entity Comments to run the macro.

Remove Collation (SQL Server)

This macro allows you to remove collation from all attributes from selected or all tables. Install the macro, open model for SQL Server and select tables on your Workspace. Then click menu Macros | Remove Collation. You can also right click any entity and choose Macros | Remove Collation to remove collation from all attributes in the selected entity. Information about removed collations will be written to Log.

Copy PK attribute descriptions to FK attributes

This macro copies PK attribute descriptions to FK attribute descriptions. When FK attribute has a description nothing will be copied or overwritten. 

Install this macro and then click the Macros menu, select Copy Key Attributes Descriptions and then see Log. Of course, backup the model before you run the macro. (Note that each attribute should have its own description).

Change and Set Domains

This macro allows you to change existing domain for selected attributes in Physical Model Explorer or Object Viewer or in selected entities on Workspace, Physical Model Explorer or Object Viewer.

Add to New Workspace – Tip for large models

If you wish to divide a large model into several workspaces (WS), first create a new workspace and then select objects that should be displayed in the WS. This macro offers you an alternative method. Select various objects (Entities, Views, Materialized Views) in the Model Explorer or Object Viewer, right-click any of them and select Add To New Workspace option. New WS is crated and objects are added in there.

Additional Information:

Add Missing Relationship Lines to Active Workspace

Run this macro if you wish to quickly add relationship lines to entities on your workspace.

Additional Information:

Add To Category – Tip for large models

This macro allows you to add objects selected in the Physical Model Explorer, Object Viewer, or in a Workspace to an existing category, or quickly create a new category for the selected objects.

Objects that can be added to a category: Entities, Views, Relationships, Materialized Views, View Relationships.

Objects in a category are colored automatically, which should help you to get oriented in large models better.

Fact and Dimension table types

This package adds new item to Entity properties form. At bottom right corner you will find DM Table Type combobox with values Not specified, Dimension, Fact.

Additional Information:

Alter report in XML format

mport this package to Toad Data Modeler, open two models, compare them and generate standard HTML comparison report. Toad Data Modeler will generate to the output folder one additional file – XMLReport.xml. Open it in XML editor or your browser to see XML structure.

Set Order of Predefined Attributes

This package contains a macro that puts attributes Created and LastUpdated to second and third position in a table. After import the macro will add new menu item: Macros | Change Order of Predefined Columns.

To change this behavior or attribute names, edit the macro code via Script Explorer.

Notes:  In addition, you might find useful the following tip: Create the two attributes in one entity. Then navigate to the entity in Physical Model Explorer, right click the Created column and choose Macros | Copy Attribute to All Entities. Then click the Macros menu in toolbar and choose item Change Order of Predefined Attributes. It can't be faster emotion-1

Autogenerate the columns is not recommended.

Tablespace Assignment

This package adds Tablespace Assignment feature to Toad Data Modeler.

Additional Information:

Rename Relations using new property Short Name

Instructions here

Comments and Notes

This macro adds possibility co copy Entity and Attribute Comments to Notes and vice versa.


  • Notes can be displayed in diagram in form of a hint (move mouse cursor over entity or attribute in diagram to see Notes).
  • If convert logical model to physical, descriptions will be converted to Notes. If you wish to use Comments, use the macro to copy Notes to Comments. (In section Scripts you can find short java script that transfers the Notes to Comments and deletes the Notes from Physical model).

How to use the package:

Select entities in your diagram, right click any of the entity and choose item Macros – Comments and Notes. If you do not select any entity, the macro will show confirmation dialog and offer possibility to change all entities in your model.

Custom Model Verification for Oracle

This package contains sample macro for custom verification of Oracle models. 

Start the discussion at