Description

This article explains how GenRocket works with databases -- specifically, how to import your data model into GenRocket Web from a database and how to populate a database via the GenRocket Runtime.


To see a list of supported databases, please click here.


In This Article


Component Overview 

The context diagram below shows how GenRocket can read a database's metadata and then populate it. Please take a look at the explanation of components critical to this below.

GenRocketDatabaseOverview

Local Computer or Server 

  • Customer Components: These are components specific to an organization.
    • Database: This is the organization's database that would be populated via GenRocket.
    • JDBC Properties File: (Also called config.properties) This file contains the information for the GenRocket Runtime to connect to the specific database. It is referenced in GenRocket Web as a Resource.
    • DDL File: This is a file that defines the organization's database metadata that can be uploaded to GenRocket Web to create one or more Domains. 
    • XTS File: This is a file that defines the organization's database metadata in GenRocket Export Table Schema Format that can be uploaded to GenRocket Web to create one or more Domains.

  • GenRocket Components
    • GenRocket Runtime: This component can run GenRocket Scenarios that are downloaded from GenRocket Web to populate a database by reading a JDBC file that is referenced in the Resources on GenRocket Web.
    • Export Table Schema: This is a component that can be run via the GenRocket Runtime to export the database's metadata. Once the file is created, it can be imported to GenRocket Web.
    • Scenario File: Contains a set of instructions that allows the GenRocket Runtime to generate data.


GenRocket Web Platform 

  • The GenRocket Web Platform is where organizations model Domains and manage Scenarios.
    • Management Components 
      • Organization: Represents a unique place where all GenRocket components are created, managed, and contained within the GenRocket web ecosystem.
      • Project: Represents a unique place where all Domains, Scenarios, and their respective subcomponents are defined, managed, and contained. 
      • Project Version: Represents a unique version of a GenRocket project.
      • Resources: Consists of a name and a value that can be referenced by the parameters of a Generator or a Receiver. For connecting to a database, Resources can be used to point to a JDBC file on a user's local machine or server.

    • Importer Components
      • DDL Importer: This component can create GenRocket Domains by reading a DDL file.
      • XTS Importer: This component can create GenRocket Domains by reading a GenRocket XTS file. This file is created by the GenRocket Runtime.

    • Data Modeling Components: These 5 components are used to define the test data to populate the database. If you are not familiar with these components, please read more about them in the main concept section. 
      1. Domains: Represents a noun.
      2. Attributes: Describes a characteristic of a GenRocket Domain.
      3. Generators: Generates a specific type of synthetic data. 
      4. Receivers: Morphs raw generated data into a specific type of usable formatted data. 
      5. Scenario: Defines a set of instructions that determine how much and in what order Domains generate data. 


Additional Information

The following articles can be used to learn more about connecting to Databases:

TopicDescription
Supported Databases
See a list of databases supported by GenRocket.
What Is JDBC?
Learn more about JDBC.
What is a JDBC Config File?Learn more about the JDBC Config file. 
Vault Integration via JDBC (AWS Secrets Manager)
Learn what is required in the JDBC Config file to retrieve username and password information from a vault manager for a database connection.
How do I Structure Resource Subdirectories to Store Config Files?
Learn how to structure subdirectories to store multiple configuration files for databases.
How do I Encrypt Config and Property Files?
Learn how to encrypt configuration and property files using the GenRocket runtime encrypt file command. Only GenRocket Runtime can decrypt files encrypted with this command.
How to test a JDBC Connection 
(--test-jdbc)
Learn more about the command you can use to test the JDBC connection to an SQL database. 
How to Connect Runtime to DatabaseSee the basic steps for setting up GenRocket Runtime to connect to a database.
Generating Data for a Remote DatabaseLearn more about recommendations for generating data for a remote database. 
How do I connect to an MS SQL database with GenRocket Runtime?View a step-by-step guide for connecting to an MS SQL database.
How do I connect to an Oracle database with GenRocket Runtime?View a step-by-step guide for connecting to an Oracle database. 
How do I connect to a MySQL database with GenRocket Runtime?View a step-by-step guide for connecting to a MySQL database.
How do I connect to an IBM DB2 Database?
View a step-by-step guide for connecting to an IBM DB2 database.
How do I connect to a PostgreSQL database with GenRocket Runtime?
View a step-by-step guide for connecting to a PostgreSQL database.
How do I connect to a Snowflake database with GenRocket Runtime?
View a step-by-step guide for connecting to a Snowflake database.