rwnx / pynonymizer

A universal tool for translating sensitive production database dumps into anonymized copies.
https://pypi.org/project/pynonymizer/
MIT License
105 stars 38 forks source link

What does GET_SOURCE step do and is there a way/step to just test if pynonymizer can connect to the mysql server #93

Closed armorKing11 closed 2 years ago

armorKing11 commented 2 years ago

Query: I am trying to figure out if there is a way to test connectivity with a db server like mysql without performing any actual destructive step operation like , CREATE_DB or ANONYMIZE_DB . I tried using START step , but it does not check if the connection was actually setup and also tried GET_SOURCE step but also does not help cos i tried even with invalid credentials to confirm if connection failed ,but there was no error output. So what does GET_SOURCE actually do ? I looked at the provider code and did not find any reference to it

Feature request: Would it make sense to add a feature to have a STEP to check connectivity or does it already exist ? This would be useful when you are testing against different servers , but you want to play safe and first make sure if the connectivity is good before actually performing a destructive operation.

Thanks for the tool . Hope for a quick response

rwnx commented 2 years ago

Hi!

At the moment GET_SOURCE is a no-op. It was introduced as a future process step but it hasn't been materialized yet. Hopefully it was clear that it's marked as "future" in the docs. We could probably do more (i.e. remove it until implemented) to make this clearer.

Pynonymizer does not test the db connection directly - this functionality was removed in v1.11.0 citing differences between provider implementations / confidence in the "test" behaviour.

I wouldn't be opposed to reconsidering it as a test step - but i do have to ask, as pynonymizer is a CLI, why not test the connection yourself? e.g. mysql [...] -e "select 1;"

rwnx commented 2 years ago

To consolidate documentation/cut down on confusion, I've made the decision to remove the GET_SOURCE step entirely. This was merged with #105.