smile / gdpr-dump
创建匿名化数据库备份的工具
5.0.1
2024-07-10 13:01 UTC
Requires
- php: ^8.1
- composer-runtime-api: ^2.0
- ext-json: *
- ext-pdo: *
- doctrine/dbal: ^3.1
- druidfi/mysqldump-php: ^1.1
- fakerphp/faker: ^1.17
- justinrainbow/json-schema: ^5.2
- symfony/config: ^6.1
- symfony/console: ^6.1
- symfony/dependency-injection: ^6.1
- symfony/event-dispatcher: ^6.1
- symfony/finder: ^6.1
- symfony/yaml: ^6.1
- theseer/tokenizer: ^1.2
Requires (Dev)
- php-parallel-lint/php-parallel-lint: ^1.3
- phpstan/phpstan: ^1.10
- phpstan/phpstan-phpunit: ^1.3
- phpunit/phpunit: ^10.5
- slevomat/coding-standard: ^8.14
- squizlabs/php_codesniffer: ^3.7
This package is auto-updated.
Last update: 2024-09-10 11:12:50 UTC
README
此工具提供了一个命令,用于备份MySQL数据库的内容。
它类似于mysqldump,具有额外的功能,但会牺牲性能(PHP实现)。此工具的主要目的是创建匿名化备份,以便符合GDPR法规。
功能
- 数据转换器(在数据写入文件之前转换数据)。
- 递归表过滤。
- 白名单表(只包含这些表的备份)。
- 黑名单表(不包含在备份中)。
- 备份选项(压缩、输出类型...)。
- 预定义配置模板(Magento、Drupal、OroCommerce)。
文档
文档(包括安装说明)可在wiki中找到。
社区模板
虽然本项目不旨在涵盖每个框架,但鼓励您将模板发布在GitHub上,主题为smile-sa-gdpr-dump-template。
常见问题解答
为什么不用Doctrine生成备份?
Doctrine的目标是支持广泛的数据库管理系统。它不支持某些数据库特有的功能。
例如,在MySQL中,可以在BLOB列上创建索引。不过有一个限制,您需要指定索引的长度。
此功能用于Magento 2。由于Doctrine不支持此功能,因此不能用于创建Magento 2数据库的有效备份文件。在导入生成的备份文件时,会触发以下错误
ERROR 1170 (42000) at line 254: BLOB/TEXT column 'code' used in key specification without a key length
此外,Doctrine的模式管理器只能管理表。它不处理触发器、存储过程、视图...
因此,我们不使用Doctrine生成备份文件。备份文件使用MySQLDump-PHP生成,它仅兼容MySQL。
贡献
您可以通过提交问题或拉取请求来为此模块做出贡献。
有关更多详细信息,请参阅贡献指南。
许可证
本项目受GPLv3许可证许可。
变更日志
所有显著更改均记录在此变更日志中。
联系方式
Smile 技术方向 dirtech@smile.fr