Smile-SA / gdpr-dump

Utility that creates anonymized database dumps (MySQL only). Provides default config templates for Magento, Drupal and Shopware.
GNU General Public License v3.0
182 stars 47 forks source link
anonymization database gdpr mysql mysql-backup mysqldump pdo php php-library

GdprDump

Latest Stable Version Build Status

This tool provides a command that dumps the contents of a MySQL database.

It is the equivalent of mysqldump, with additional features, at the cost of performance (PHP implementation). The main purpose of this tool is to create anonymized dumps, in order to comply with GDPR regulations.

Features:

Documentation

The documentation (including installation instructions) is available in the wiki.

Community Templates

While it is not the aim of this project to cover each framework, you are encouraged to publish your templates on GitHub under the topic smile-sa-gdpr-dump-template.

FAQ

Why don't you use Doctrine to generate the dump?

The goal of Doctrine is to support a wide array of DBMS. It does not support features that are specific to some databases.

For example, in MySQL, it is possible to create an index on BLOB columns. There is a restriction though, you need to specify the length of the index.

This feature is used in Magento 2. Since Doctrine does not support this feature, it cannot be used to create a working dump file of a Magento 2 database. The following error would trigger during the import of the generated dump file:

ERROR 1170 (42000) at line 254: BLOB/TEXT column 'code' used in key specification without a key length

Also, the schema manager of Doctrine can only manage tables. It does not handle triggers, procedures, views...

As a consequence, we don't use Doctrine to generate the dump file. The dump file is generated with MySQLDump-PHP instead, which is only compatible with MySQL.

Contributing

You can contribute to this module by submitting issues or pull requests.

For more details, please take a look at the contribution guidelines.

License

This project is licensed under the GPLv3 License.

Changelog

All notable changes are recorded in this changelog.

Contact

Smile Technical Direction dirtech@smile.fr