wearejh/stripped-db-provider

此包的最新版本(1.3.2)没有可用的许可证信息。

Magento 2 的 Stripped DB Provider

安装数: 5,753

依赖关系: 0

建议者: 0

安全性: 0

星标: 0

关注者: 8

分支: 0

开放问题: 0

类型:magento2-module

1.3.2 2024-08-14 08:45 UTC

README

此模块可以配置为自动将清理后的数据库定期发送到云中的 Amazon S3 Bucket。

安装

将以下仓库添加到您的 composer.json 文件的 repositories 部分

{"type": "vcs", "url": "git@github.com:WeareJH/stripped-db-provider.git"},

然后像安装任何常规的 composer 包一样安装

composer require wearejh/stripped-db-provider

配置

有两个配置区域。第一个是项目特定配置,在 config.php 中设置并提交到仓库。第二个是环境特定配置,直接在服务器上的 env.php 文件中添加。

项目特定配置

默认情况下,所有数据库都会被清理,但您可以通过在您的 config.php 文件中添加以下内容来定义项目特定的表,这些表的数据不应包含在备份中:

'system' => [
        'default' => [
            'stripped_db_provider' => [
                'dump' => [
                    'project_ignore_tables' => ['example_table_a', 'example_table_b']
                ]
            ]
        ]
    ]

其中 project_ignore_tables 是项目特定表列表。

环境特定配置

安装并部署到生产环境后,您将希望配置它以便自动将清理后的数据库发送到 S3 Bucket。您需要添加加密的 access_key_id & secret_access_key。因此,您可以在管理员中提及这些值,它们将自动加密这些值。手动编辑 env.php 文件并设置以下配置(以下值是示例):

'system' => [
        'default' => [
            'stripped_db_provider' => [
                'general' => [
                    'enabled' => '1',
                    'project_name' => 'example-project',
                    'cron_expr' => '0 4 * * 0'
                ],
                'storage' => [
                    'bucket_name' => 'example-bucket-name',
                    'region' => 'example-bucket-region',
                    'access_key_id' => 'example-bucket-access-key',
                    'secret_access_key' => 'example-bucket-secret-access-key'
                ]
            ]
        ]
    ]

您也可以通过登录管理员从管理员处添加 access_key_id、secret_access_key、bucket_name、region。如果找不到它或需要帮助设置,请咨询您的同事。

以下表格描述了值:

Amazon S3 Bucket 详细信息应在 LastPass 中。如果您找不到或需要帮助设置,请咨询您的同事。

编辑 env.php 文件后,立即运行以下命令:

bin/magento app:config:import

手动运行上传

您还可以通过在命令行中运行以下命令手动触发清理数据库的上传:

bin/magento wearejh:stripped-db-provider:upload-to-remote 

进行完整的数据库备份

bin/magento wearejh:stripped-db-provider:upload-to-remote --full

本地导入远程备份

您可以使用此模块直接从 S3 导入远程备份到本地。它将备份您的本地管理员账户并重新导入它们。

bin/magento wearejh:stripped-db-provider:import-from-remote PROJECT NAME 

跳过管理员账户备份

bin/magento wearejh:stripped-db-provider:import-from-remote PROJECT NAME --no-admin-backup=1 

配置备份

config-backup 选项接受 3 个值:

  • skip - 跳过本地配置的备份并从远程导入所有内容
  • merge - 仅备份 stripped_db_provider/dump/config_paths_keep 下配置的路径(接受 MySQL 通配符 %),从远程导入所有内容并将备份的配置与远程配置合并
  • preserve-local - 备份整个 core_config_data 并在从远程导入数据库后恢复它
bin/magento wearejh:stripped-db-provider:import-from-remote PROJECT NAME --config-backup=merge

问题 / 功能请求

请为遇到的任何问题或想要看到的功能请求在 github 上打开问题。当然欢迎 PR。

故障排除

如果任何项目已安装此模块的 0.3.3 版本,在升级模块到最新版本时遇到与模块:ifsnop/mysqldump-php ^2.12 相关的依赖错误,请从项目根目录的 composer.json 文件中删除以下行:{"type": "vcs", "url": "git@github.com:maciejslawik/mysqldump-php.git"}