人気のPHP WEBアプリケーションフレームワークLaravelのTipsを記録していきます

Laravel で DB のバックアップを簡単にとる (laravel-db-snapshots)

laravel-db-snapshotsを使用すると、Laravel で DBの構造とデータをまとめてバックアップ / リストア することができます。 (データのみの取得はできないようです。)

● spatie/laravel-db-snapshots

composer コマンドでインストールします

composer require spatie/laravel-db-snapshots

● インストールの確認

インストールを確認します。

php artisan
 snapshot
  snapshot:create      Create a new snapshot.
  snapshot:delete      Delete a snapshot.
  snapshot:list        List all the snapshots.
  snapshot:load        Load up a snapshot.

● バックアップを取るディスクを設定する

config/filesystems.php

    'disks' => [

        'local' => [
            'driver' => 'local',
            'root' => storage_path('app'),
        ],

        // ここから追加
        'snapshots' => [
            'driver' => 'local',
            'root' => database_path('snapshots'),
        ],
        // ここまで追加

(実際のディレクトリはバックアップを取るときに自動作成されます)

● バックアップを取る

テストで database/snapshots/my-first-dump.sql を作成します

php artisan snapshot:create my-first-dump

ファイル名を日付にしてもいいと思います。

php artisan snapshot:create 2019_03_12

何度もとるなら時刻も入れておくといいと思います。

php artisan snapshot:create 2019_04_16__03_19_00

なお 同名のファイルの場合は上書き されますので注意してください。

● ファイル名自動でバックアップを取る

php artisan snapshot:create
Creating new snapshot...
Snapshot `2019-06-04_08-06-49` created (size: 1.37 MB)

2019-06-04_08-06-49 というフォーマットで自動的にファイル名を命名してバックアップを取ってくれます。

No.1459
06/04 08:08

edit