該軟體包提供了一個與框架無關的資料庫備份管理器,用於從 S3、Dropbox、FTP、SFTP 和 Rackspace Cloud 轉儲和還原資料庫。
對於 >=PHP 7.3 使用版本 2+
對於 <PHP 7.2 使用版本 1
觀看展示 Laravel 驅動程式實際操作的影片導覽,讓您了解可能性。
支援MySQL
和PostgreSQL
使用Gzip
壓縮
與框架無關
死簡單的配置
Laravel 驅動程式
交響樂驅動程式
資料庫備份管理器
目錄
又快又髒
要求
安裝
用法
貢獻指南
維護者
向後相容性中斷
執照
配置您的資料庫。
// config/database.php'development' => ['type' => 'mysql','host' => 'localhost','port' => '3306','user' => 'root',' pass' => 'password','database' => 'test',// 如果singleTransaction 設為true,則將設定--single-transcation 標誌。 http://dev.mysql.com/doc/refman/5.7/en/mysqldump.html#option_mysqldump_single-transaction'singleTransaction' => false,//不轉儲給定的表//僅設定表名,不設定資料庫名稱// 範例: ['table1', 'table2']// http://dev.mysql.com/doc/refman/5.7/en/mysqldump.html#option_mysqldump_ignore-table'ignoreTables' => [], //使用ssl 連接到資料庫- active ssl-support (僅限mysql):'ssl'=>false,// 新增其他選項到dump-command (如'--max-allowed-packet')'extraParams'= >無效的, ], '生產' => ['類型' => 'postgresql','主機' => 'localhost','連接埠' => '5432','使用者' => 'postgres','pass' => '密碼' ,'資料庫' => '測試', ],
配置您的檔案系統。
// config/storage.php'local' => ['type' => 'Local','root' => '/path/to/working/directory', ],'s3' => ['type' => 'AwsS3','key' => '','secret' => '','region' => 'us-east-1','version' = > '最新','存儲桶' => '','根' => '','use_path_style_endpoint' => false, ],'b2' => ['type' => 'B2','key' => '','accountId' => '','bucket' => '', ],'gcs' => ['type' => 'Gcs','key' => '','secret' => '','version' => '最新','bucket' => '', '根' => '', ],'rackspace' => ['type' => 'Rackspace','使用者名稱' => '','key' => '','container' => '','zone' => '', '根' => '', ],'dropbox' => ['type' => 'DropboxV2','token' => '','key' => '','secret' => '','app' => '','根' => '', ],'ftp' => ['類型' => 'Ftp','主機' => '','使用者名稱' => '','密碼' => '','root' => '', '連接埠' => 21,'被動' => true,'ssl' => true,'逾時'=> 30, ],'sftp' => ['類型' => 'Sftp','主機' => '','使用者名稱' => '','密碼' => '','root' => '', '連接埠' => 21,'逾時' => 10,'privateKey' => '', ],'flysystem' => ['type' => 'Flysystem','name' => 's3_backup',//'prefix' => '上傳',],'doSpaces' => ['type' => 'AwsS3','key' => '','秘密' => '','region' => '','bucket' => '','root' => '','endpoint' => ' ','use_path_style_endpoint' => false, ],'webdav' => ['type' => 'Webdav','baseUri' => 'http://myserver.com','使用者名稱' => '','密碼' => '','前綴' => '', ],
備份到任何配置的資料庫/從任何配置的資料庫還原。
將開發資料庫備份到Amazon S3
。當gzip
完成後,S3 備份路徑最終將是test/backup.sql.gz
。
use BackupManagerFilesystemsDestination;$manager = require 'bootstrap.php';$manager->makeBackup()->run('development', [new Destination('s3', 'test/backup.sql')], 'gzip') ;
備份到任何配置的檔案系統/從任何配置的檔案系統還原。
將資料庫檔案test/backup.sql.gz
從Amazon S3
還原到development
資料庫。
$manager = require 'bootstrap.php';$manager->makeRestore()->run('s3', 'test/backup.sql.gz', 'development', 'gzip');
該軟體包不允許您從一種資料庫類型備份並還原到另一種資料庫類型。 MySQL 轉儲與 PostgreSQL 不相容。
PHP 5.5
MySQL 支援需要mysqldump
和mysql
命令列二進位文件
PostgreSQL 支援需要pg_dump
和psql
命令列二進位文件
Gzip 支援需要gzip
和gunzip
命令列二進位文件
作曲家
執行以下命令以透過 Composer 包含此內容
作曲家需要備份管理器/備份管理器
然後,您需要為要使用的適配器選擇適當的套件。
# 支援 s3composer 需要 league/flysystem-aws-s3-v3# 支援 b2composer 需要 mhetreramesh/flysystem-backblaze# 支援 google cscomposer 需要 league/flysystem-aws-s3-v2# 安裝首選 dropbox v2 驅動程式 需要 v.安裝舊版Dropbox v2 DriverComposer 需要srmklive/flysystem-dropbox-v2# 支援rackspacecomposer 需要league/flysystem-rackspace# 支援sftpcomposer 需要league/flysystem-sftp# 支援webdav(受owncloud 及許多其他支援)需要league/flysystem-sftp# 支援webdav(受owncloud 及許多其他支援)。
安裝後,必須先引導該軟體包(初始配置),然後才能使用。
我們在這裡提供了一個原生 PHP 範例。
所需的引導可以在此處的範例中找到。
我們建議使用此套件提供的 vagrant 配置進行開發和貢獻。只需安裝 VirtualBox、Vagrant 和 Ansible,然後在根資料夾中執行vagrant up
即可。將為您建置並啟動專為開發套件而設計的虛擬機器。
貢獻時請考慮以下準則:
程式碼風格為 PSR-2
介面不應以Interface
為後綴,特徵不應以Trait
為後綴。
所有方法和類別都必須包含文件區塊。
確保您提交的測試覆蓋率至少為 100%。鑑於該項目的簡單性,這是有道理的。
在計劃添加新功能的拉取請求時,明智的做法是提交提案以確保與專案目標的兼容性。
這個包由 Shawn McCool 和你維護!
刪除對 symfony 2 的支援。
該軟體包根據 MIT 許可證獲得許可。瘋狂吧。