このパッケージは、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 フラグが設定されます。// これはトランザクション データベースで便利です。 like InnoDB.// 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 を使用してデータベースに接続 - アクティブな ssl-support (mysql のみ) ):'ssl'=>false,// dump-command にオプションを追加します (例: '--max-allowed-packet')'extraParams'=>null、 ]、 'production' => ['type' => 'postgresql','host' => 'localhost','port' => '5432','user' => 'postgres','pass' => 'password' ,'データベース' => 'テスト', ]、
ファイルシステムを構成します。
// config/storage.php'local' => ['type' => 'Local','root' => '/path/to/working/directory', ],'s3' => ['type' => 'AwsS3','key' => '','secret' => '','region' => 'us-east-1','version' = > 'latest','bucket' => '','root' => '','use_path_style_endpoint' => false, ],'b2' => ['type' => 'B2','key' => '','accountId' => '','bucket' => '', ],'gcs' => ['type' => 'Gcs','key' => '','secret' => '','version' => 'latest','bucket' => '', 'ルート' => ''、 ],'rackspace' => ['type' => 'Rackspace','username' => '','key' => '','container' => '','zone' => '','ルート' => ''、 ],'dropbox' => ['type' => 'DropboxV2','token' => '','key' => '','secret' => '','app' => '','ルート' => ''、 ],'ftp' => ['type' => 'Ftp','host' => '','username' => '','password' => '','root' => '',' port' => 21、'passive' => true、'ssl' => true、'timeout' => 30、 ],'sftp' => ['type' => 'Sftp','host' => '','username' => '','password' => '','root' => '','ポート' => 21、'タイムアウト' => 10、'プライベートキー' => ''、 ],'flysystem' => ['type' => 'Flysystem','name' => 's3_backup',//'prefix' => 'upload',],'doSpaces' => ['type' => 'AwsS3','key' => '','secret' => '','region' => '','bucket' => '','root' => '','endpoint' => '','use_path_style_endpoint' => false, ],'webdav' => ['type' => 'Webdav','baseUri' => 'http://myserver.com','userName' => '','password' => '','prefix ' => '、 ]、
構成されたデータベースへのバックアップ/復元。
開発データベースをAmazon S3
にバックアップします。 gzip
を実行すると、S3 バックアップ パスは最終的にtest/backup.sql.gz
になります。
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 と互換性がありません。
PHP5.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 drivercomposer required spatie/従来の Dropbox v2 drivercomposer をインストールするには flysystem-dropbox# が必要ですsrmklive/flysystem-dropbox-v2#rackspaceをサポートするにはcomposerがleague/flysystem-rackspace#を必要とする sftpcomposerがwebdavをサポートするにはleague/flysystem-sftp#が必要(owncloudや他の多くのによってサポート)composerにはleague/flysystem-webdavが必要
パッケージをインストールしたら、使用する前にブートストラップ (初期構成) する必要があります。
ここではネイティブ PHP の例を提供しています。
必要なブートストラップは、ここの例にあります。
開発とコントリビューションには、このパッケージで提供される vagrant 構成を使用することをお勧めします。 VirtualBox、Vagrant、Ansible をインストールし、ルート フォルダーでvagrant up
実行するだけです。パッケージの開発用に特別に設計された仮想マシンが構築され、起動されます。
貢献する際には、次のガイドラインを考慮してください。
コードスタイルはPSR-2です
インターフェイスにはInterface
という接尾辞を付けないでください。また、Traits にはTrait
接尾辞を付けないでください。
すべてのメソッドとクラスには docblock が含まれている必要があります。
少なくとも 100% をカバーするテストを提出してください。プロジェクトのシンプルさを考えると、それは当然のことです。
新しい機能を追加するプルリクエストを計画するときは、プロジェクトの目標との互換性を確保するために提案を送信することが賢明な場合があります。
このパッケージは Shawn McCool とあなたによって管理されています。
symfony 2 のサポートを削除します。特に symfony/process バージョン < 3.x
このパッケージは MIT ライセンスに基づいてライセンスされています。ワイルドに走ってください。