How to Set Up TiDB with dbt Developer Hub

Learn how to set up TiDB with dbt Developer Hub by creating a connection profile with all the necessary details for a successful database connection.
Published
May 10, 2024
Author

How to Setup TiDB with dbt Developer Hub?

Setting up TiDB with dbt Developer Hub involves creating a connection profile with specific parameters such as target, type, server, port, schema, username, password, and retries. The connection profile for TiDB is typically named 'dbt-tidb'. The arguments used to connect to the database should be returned, except for the password.

  • Connection Profile: This is the configuration file that dbt uses to connect to your TiDB database. It includes parameters like server, port, schema, username, and password.
  • dbt-tidb: This is the name of the connection profile for TiDB. It's set as the target in the profile configuration.
  • Retries: This parameter defines the number of times dbt will attempt to connect to the TiDB database before giving up.

What is the role of profile_template.yml in TiDB setup?

A profile_template.yml can be created to enable configuration prompts for a new user setting up a connection profile via the dbt init command. This template provides a structured format for entering the necessary connection details, making it easier for new users to get started.

  • profile_template.yml: This is a template file that can be used to create a new connection profile. It includes prompts for all the necessary configuration details.
  • dbt init command: This command is used to initialize a new dbt project. When setting up a connection profile, this command can utilize the profile_template.yml for guidance.

How does ALIASES mapping work in TiDB setup?

An ALIASES mapping can be defined on the Credentials class to include any config names users can use in place of "database" or "schema". This allows users to use familiar terminology when configuring their connection profile, improving the user experience.

  • ALIASES mapping: This is a feature that allows users to use alternative names for certain configuration parameters. In the context of TiDB setup, it can be used to provide alternative names for "database" and "schema".
  • Credentials class: This is where the ALIASES mapping is defined. It's part of the dbt core library and is used to manage connection credentials.

How does dbt connect to the data platform?

When dbt is run from the CLI, it reads the dbt_project.yml file to find the profile name, and then looks for a profile with the same name in the profiles.yml file. This profile contains all the information dbt needs to connect to the data platform.

  • dbt_project.yml: This is the main configuration file for a dbt project. It includes the name of the connection profile that dbt should use to connect to the data platform.
  • profiles.yml: This file contains all the connection profiles for a dbt project. dbt looks for a profile with the same name as the one specified in the dbt_project.yml file.

Keep reading

See all