Creating custom generators

dbForge Data Generator for MySQL allows you to create, save, and use your own custom data generators that would better meet your needs, instead of customizing the predefined generators over and over again. You can add one or more custom generators to the existing categories: Business, Health, Location, IT, Payment, Personal, and Product.

You can create a custom generator in two ways - on the basis of a template or from scratch.

Creating a custom generator on the basis of a template

dbForge Data Generator for MySQL is supplied with a wide collection of generator templates that can be easily used for creation of your own data generators.

To create a custom generator based on a template:

  1. Open the Templates folder in C:\Users\Public\Public Documents\Devart\dbForge Data Generator for MySQL\Data Generators.
  2. Open a required template in an editor.
  3. Modify the selected generator according to your needs. For more information, see the Explanation of tags and Mapping rules sections of this topic.
  4. Put the generator file into the Data Generators folder.
  5. Start (or restart) Data Generator.

Creating a custom generator from scratch

The following example is based on the Regular Expression Generator, which is most frequently customized.

  1. Open the Data Generators folder in C:\Users\Public\Public Documents\Devart\dbForge Data Generator for MySQL\Data Generators.
  2. In this folder, create an .xml file or copy and paste one of the existing files.
  3. Edit the file to include the following code.
  4. Save the .xml file.
  5. Start (or restart) Data Generator.

Explanation of tags

Tag Description
Category the category a custom generator is added to
Name the name of a generator being added
ShortName the name of a generator that will be displayed in the Preview window
Description the description of a generator
Type the type of a basic generator on which a created generator is based
Language a language to assign a generator depending on a user’s locale
Matches auto-mapping rules
ColumnTypes data types for which a generator will be available
Options contains other tags for configuring a generator, depending on a generator type

Mapping rules

Value Description
table=”” a name of the matched table(s)
column=”” a name of the matched column(s)
* any number of characters
^ strict beginning of a name, i.e. “^Test.*” means that the beginning of the name must be “Test”, followed by any characters (the valid table names may be the following: test, testing, Test123, etc.)
$ strict end of a name, i.e. “.*Test$” means that the end of the name must be “Test”, preceded by any characters (the valid table names may be the following: test, myTest, 123test, etc.)
| “or” listing
priority=”n” mapping priority - the rule according to which a generator is automatically assigned to a column (the higher the number, the higher the priority; for the custom generators it should be higher than 4 because the default data type generators have a priority range of between 1 and 4)
minlen=”n” the minimum permissible length of a column (the parameter is ignored for varchar(max), nvarchar(max), text, ntext, image, and varbinary(max))
maxlen=”n” the maximum length of a column (this parameter is optional; the parameter is ignored for varchar(max), nvarchar(max), text, ntext, image, and varbinary(max))