Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Develop #1

Open
wants to merge 25 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
0dc93ec
Do not add data dependent filter for self referencing tables
digilist Jan 16, 2018
00df57b
Add further logging output
digilist Jan 16, 2018
16beddf
Provide more option
FrankGiesecke Jun 5, 2018
df357ae
Merge pull request #5 from FrankGiesecke/4-provide-more-options
digilist Jun 6, 2018
887a489
remove dead link to missing docs.
thegass Jun 13, 2018
927b08c
Merge pull request #6 from thegass/patch-1
digilist Jun 13, 2018
4c37cde
Add docker-compose.yml
digilist Jun 20, 2018
4bb16bd
Allow to override the output path
digilist Jun 20, 2018
00ba953
Add support for databases with custom Doctrine DBAL types
digilist Jun 20, 2018
8ac6679
Update dependencies (primarly to support MySQL JSON type with Doctrine)
digilist Jun 20, 2018
9c892d2
Improve unit test for custom doctrine types
digilist Jun 20, 2018
8491d9e
Start documentation
digilist Jun 20, 2018
9962e49
Merge pull request #7 from digilist/docs
digilist Jun 26, 2018
ccb5e7d
minor: avoid dupplication of get option
Simperfit Jul 25, 2018
e6f84bb
add safe email converter
Kr42 Aug 6, 2018
4cb805e
add on delete/update options on foreignKeys query
Kr42 Aug 9, 2018
7787b11
Merge pull request #10 from Simperfit/patch-1
digilist Aug 14, 2018
50c4bdc
Merge pull request #11 from krome162504/email_converter
digilist Aug 14, 2018
fddc691
add test for foreign key delete/update options
Kr42 Aug 21, 2018
a9c233d
Merge pull request #13 from krome162504/add-options-on-foreign-key
digilist Aug 24, 2018
5c119fa
Allow to specify pdo options
digilist Aug 24, 2018
29faf4e
Merge pull request #14 from digilist/pdo_options
digilist Nov 12, 2018
c0a3f8b
Add support for custom types in Doctrine
ksm2 Aug 2, 2017
f359b83
Enable empty replacement values.
ck-1 Aug 4, 2017
5b82799
Merge branch 'master' into develop
mvehar Apr 1, 2019
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 10 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# SnakeDumper
SnakeDumper is a tool to create a reasonable development dump of your production database **which does not contain any personal data**. It works similar to mysqldumper (or related tools), but applies a set of data converters and filters to your data. (If there aren't any filters and converteres configured it works exactly like any other dumper.)
SnakeDumper is a tool to create a reasonable development dump of your production database **which does not contain any sensitive data**. It works similar to mysqldumper (or related tools), but applies a set of data converters and filters to your data. (If there aren't any filters and converteres configured it works exactly like any other dumper.)

_Please note that the SnakeDumper is currently in an early preview phase. It is written to work with any SQL-compatible database, but is at the moment only tested against MySQL and SQLite._ The vision is to support a wide range of database systems later (including NoSQL).

Expand All @@ -20,7 +20,7 @@ Furthermore, you can configure SnakeDumper to skip whole tables or the contents

### Data Converter

The main objective of the SnakeDumper is to build reasonable development dumps that do not contain any personal data. Therefore, there are are various data converts that allow to alter the dumped data and replace all personal information with other random (or static) data.
The main objective of the SnakeDumper is to build reasonable development dumps that do not contain any sensitive data. Therefore, there are are various data converts that allow to alter the dumped data and replace all sensitive information with other random (or static) data.

There are already a lot of converters. Here are just a few examples:
- Random first and last name
Expand All @@ -44,9 +44,11 @@ php bin/snakedumper dump ./demo.yml
php snakedumper.phar dump ./demo.yml
```

To get started please take a look at the [docs](docs/index.md).

### Example Configuration
There are a lot of configuration options for the SnakeDumper available. The best way to get started is by looking at the example configuration file ([demo.yml](demo.yml)). For other available options, please take a look at the [docs/](docs).

There are a lot of configuration options for the SnakeDumper available. The best way to get started is by looking at the example configuration file ([demo.yml](demo.yml)).

## Testing

Expand All @@ -56,9 +58,14 @@ The test suite needs a running MySQL server at the moment. You can use the follo
docker run -it -p 3306:3306 --rm -e MYSQL_ALLOW_EMPTY_PASSWORD=1 mysql:5.7 --character-set-server=utf8 --collation-server=utf8_unicode_ci
```

Alternatively, there is a [docker-compose.yml](docker-compose.yml) which you can use to start a Docker container for testing.

### Security / Caution!

Please note that some configuration parameters are passed directly to the database server. Although this tool does not perform any changes on your data, it is still possible to alter your data with invalid configuration parameters (e.g. by defining a custom query which performs updates). So please do not configure this tool with any kind of user provided data! We do not perform any security checks at the moment! Use it at your own risk, we give absolutely no warranty.

Furthermore, SnakeDumper does not guarantee that there is no sensitive data left in your dump. You - as a user of SnakeDumper - are responsible for the correct configuration and usage.

## How to contribute
We are open for every type of contribution. You can test the SnakeDumper, report bugs, propose new features or help us with the development. Feel free to create a new issue or open a pull request :smiley:

Expand Down
Loading