A Meltano target for MySQL.
Project description
target-mysql
target-mysql
is a Singer target for Oracle, Build with the Meltano Target SDK.
English | 한국어
Installation
Use PIP for installation:
pip install thk-target-mysql
Or use GitHub Repo:
pipx install git+https://github.com/thkwag/target-mysql.git@main
Configuration
The 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
.
The replace_null
Option (Experimental)
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 |
Usage
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.json
In 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.
Developer Resources
Initializing the Development Environment
pipx install poetry
poetry install
Creating and Running Tests
Create tests in the macrometa_target_mysql/tests
subfolder and run:
poetry run pytest
Use poetry run
to test target-mysql
CLI interface:
poetry run target-mysql --help
Testing 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 install
Then, 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-mysql
SDK Development Guide
For in-depth instructions on crafting Singer Taps and Targets using Meltano Singer SDK, see the Development Guide.
Reference Links
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for macrometa-target-mysql-0.0.5.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 83eef28f249545803869ac66bbbaa7a3b54cd8a65dfbf45bfd896e74bd610d35 |
|
MD5 | 9b5551a54060439a0664280200c64e10 |
|
BLAKE2b-256 | 36b4f0fa83164a28d2e6339a7e35ce340a4755b657681ce1b5a78be8a8436976 |
Hashes for macrometa_target_mysql-0.0.5-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c833c4742735416d2187cd3922c621f8ec4a8285e02dd4b21c0edcacf241df6e |
|
MD5 | 5d4c5a6623d500cd945c72ccfcb547b6 |
|
BLAKE2b-256 | 28f07f579581afdfe6f7591c63c396f352e458c67b525918d862a938692090e8 |