target-mysql is a MySQL-focused Singer target, crafted with the Meltano Target SDK.
Englisn | 한국어
Use PIP for installation:
pip install thk-target-mysqlOr use GitHub Repo:
pipx install git+https://github.com/thkwag/target-mysql.git@mainThe available configuration options for target-mysql are:
| Configuration Options | Description | Default |
|---|---|---|
| host | MySQL server's hostname or IP address | |
| port | Port where MySQL server is running | |
| user | MySQL username | |
| password | MySQL user's password | |
| database | MySQL database's name | |
| table_name_pattern | MySQL table name pattern | "${TABLE_NAME}" |
| lower_case_table_names | Use lowercase for table names or not | true |
| allow_column_alter | Allow column alterations or not | false |
| replace_null | Replace null values with others or not | false |
Configurations can be stored in a JSON configuration file and specified using the --config flag with target-mysql.
By enabling the replace_null option, null values are replaced with 'empty' equivalents based on their data type. Use with caution as it may alter data semantics.
When replace_null is true, null values are replaced as follows:
| JSON Schema Data Type | Null Value Replacement |
|---|---|
| string | Empty string("") |
| number | 0 |
| object | Empty object({}) |
| array | Empty array([]) |
| boolean | false |
| null | null |
cat <input_stream> | target-mysql --config <config.json><input_stream>: Input data stream<config.json>: JSON configuration file
target-mysql reads data from a Singer Tap and writes it to a MySQL database. Run Singer Tap to generate data before launching target-mysql.
Here's an example of using Singer Tap with target-mysql:
tap-exchangeratesapi | target-mysql --config config.jsonIn this case, tap-exchangeratesapi is a Singer Tap that generates exchange rate data. The data is passed to target-mysql through a pipe(|), and target-mysql writes it to a MySQL database. config.json contains target-mysql settings.
pipx install poetry
poetry installCreate tests in the target_mysql/tests subfolder and run:
poetry run pytestUse poetry run to test target-mysql CLI interface:
poetry run target-mysql --helpTesting with Meltano
Note: This target functions within a Singer environment and does not require Meltano.
Firstly, install Meltano and necessary plugins:
# Install Meltano
pipx install meltano
# Initialize Meltano in this directory
cd target-mysql
meltano installThen, test and orchestrate with Meltano:
# Call tests:
meltano invoke target-mysql --version
# Or execute pipeline with Carbon Intensity sample tap:
meltano run tap-carbon-intensity target-mysqlFor in-depth instructions on crafting Singer Taps and Targets using Meltano Singer SDK, see the Development Guide.