therealsmat / laravel-push-db
: Laravel 包,实现数据库导出功能
Requires
- php: ~5.6|~7.0
- illuminate/support: ~5.1
Requires (Dev)
- phpunit/phpunit: >=5.4.3
- squizlabs/php_codesniffer: ^2.3
This package is not auto-updated.
Last update: 2024-09-20 22:58:33 UTC
README
此包允许您轻松导出数据库。它还提供了一个 artisan 命令 php artisan db:push
,以简化此过程。您可以从控制台手动运行,或使用 Laravel 调度程序。完全取决于您的选择。
需求
需要 PHP 5.4+ 和 Composer。
安装
运行 composer require therealsmat/laravel-push-db
以获取包的最新版本。
配置
要开始使用 laravel-push-db,请将 therealsmat\PushDB\PushDBServiceProvider::class
添加到您的 app.php
文件中的 providers 数组。
接下来,通过运行 php artisan vendor:publish --provider="therealsmat\PushDB\PushDBServiceProvider"
发布 PushDB 服务提供者。
您将获得一个名为 pushdb.php
的配置文件。如果您愿意,可以自由编辑它。
此外,您将获得一个新的 artisan 命令 db:push
。此命令本身将快速导出您的数据库。
使用方法
使用此包有两种方式。
控制器
public function export(PushDB $db) { try{ if ($db->export()) { return 'Database Export Successful'; } return 'Database export not successful'; } catch (ProcessFailedException $e) { return $e->getMessage(); } catch (\Exception $e) { return $e->getMessage(); } }
命令
简单地运行 php artisan db:push
,您的数据库将被放置在您从 pushdb.php
中的 output_path
选项设置的路径中。此命令如此简单,可以以多种方式使用。
- 您可以在控制器中以编程方式使用它
/** * Call the artisan command */ Artisan::call('db:push'); /** * Get the file from the output path */ Storage::disk('s3')->put('Database.sql', config('pushdb.output_path'));
当然,您必须已从 filesystems.php
文件中设置您的 s3 磁盘。
- 您可以使用 Laravel 调度程序自动运行上述 (1),例如:
$schedule->command('db:push --force')->daily();
支持的数据库
目前仅支持 mysql 数据库!
待办事项
- 实现推送到云存储功能,例如推送到 Dropbox、Google Drive 等。
- 在发送到
process
方法之前检查配置值是否存在。 - 在导出之前检查数据库是否存在。
- 编写全面的测试以使包更加可靠。
- 包括对其他数据库的支持。
许可
MIT 许可证(MIT)。请参阅 许可文件 了解更多信息。