luyadev/luya-module-exporter

此软件包已被废弃,不再维护。未建议替代软件包。

导出模块允许您轻松下载项目中的完整数据库和存储数据,以便本地导入。

安装: 983

依赖: 0

建议者: 0

安全: 0

星标: 0

关注者: 3

分支: 2

类型:项目

1.0.0-RC4 2017-09-05 15:17 UTC

README

此模块将不会收到未来的任何更新,也不会发布稳定版本,因为它不建议使用,请改用 luya 管理代理!

如何使用 luya 代理替代: https://luya.io/guide/concept-depandsync#sync

导出模块允许您轻松下载项目中的完整数据库和存储数据,以便进行本地导入,从而在给定时间设置网站的运行状态。

安装

将导出模块添加到您的 composer.json

"luyadev/luya-module-exporter" : "1.0.0-RC4",

按照以下方式设置您的应用程序配置

'modules' => [
    // ...
    'exporter' => [
        'class' => 'luya\exporter\Module',
        'downloadPassword' => 'EnterYourSecureRandomToken',
    ],
]

最后运行 ./vendor/bin/luya migrate./vendor/bin/luya import 命令。

使用导出模块

现在您可以为部署时准备下载安装 cronjob 或运行命令。

./vendor/bin/luya exporter/export

要下载上述创建的文件,请进入

https://example.com/exporter?p=EnterYourSecureRandomToken 并下载您的压缩包。

注意!HTTP嗅探器可以读取您的明文令牌。

从远程主机导入

要从远程主机导入数据库,可以使用此命令

./vendor/bin/luya exporter/database/remote-replace-local "mysql:host=localhost;dbname=REMOTE_DB_NAME" "USERNAME" "PASSWORD"

注意!此命令将删除您当前数据库中的所有表,并用远程导出替换它们。

当您无法处理用户输入的情况(如部署器任务中的链式远程批量处理)时,您可以通过添加参数 --interactive=0 来禁用安全确认。显然,这应该非常小心使用,以防止任何不希望的数据丢失。

为了您的安全,将自动创建本地数据库的数据库备份。备份可以在本地临时系统目录中找到 - 文件名类似于这样的:uniqid() . '-BACKUP-'.time()

将导出器作为部署任务使用

当使用 LUYA 部署器时,您可能希望将远程替换本地命令添加为任务,并在部署预生产环境时执行它们。这里是一个示例,您可以在 luya 部署器文档中找到更多信息。

task('deploy:importProdDb', function() {
    cd('{{release_path}}');
    run('./vendor/bin/luya exporter/database/remote-replace-local "mysql:host=localhost;dbname=prod_database" "USER" "PASSWORD" --interactive=0');
})->onlyOn('prep');

after('deploy:luya', 'deploy:importProdDb');