acpl/flarum-db-snapshots

Create and restore database snapshots for Flarum via CLI

Maintainers

Package info

github.com/android-com-pl/flarum-db-snapshots

Forum

Type:flarum-extension

pkg:composer/acpl/flarum-db-snapshots

Statistics

Installs: 6

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

v1.0.1 2026-03-11 00:18 UTC

This package is auto-updated.

Last update: 2026-03-11 00:21:03 UTC


README

Latest Stable Version Total Downloads GitHub Sponsors

This extension provides commands to quickly create and restore database snapshots for Flarum.

Installation

composer require acpl/flarum-db-snapshots

Create Snapshot

Create a database snapshot using the snapshot:create command.

Basic usage:

# Dump to storage/snapshots/snapshot-Y-m-d-His.sql
php flarum snapshot:create

# Dump to a specific path/file
php flarum snapshot:create /path/to/backup.sql
php flarum snapshot:create ../backups/forum.sql

# Dump with compression (based on extension)
php flarum snapshot:create /backups/dump.sql.gz   # gzip compression
php flarum snapshot:create /backups/dump.sql.bz2  # bzip2 compression

# Create a backup on a live site without locking tables (recommended for production)
php flarum snapshot:create --single-transaction --quick --lock-tables=false

Options for Creation

  • --compress: Compression type (gz or bz2).
  • --include-tables=table1,table2: Include only specific tables in the snapshot.
  • --exclude-tables=table1,table2: Exclude specific tables from the snapshot.
  • --skip-structure: Skip table structure and do not include CREATE TABLE statements.
  • --no-data: Dump schema only, without row data.
  • --skip-auto-increment: Skip AUTO_INCREMENT values.
  • --no-column-statistics: Disable column statistics.
  • --binary-path=/path/to/binary: Custom path to the mysqldump binary.

Most standard mysqldump options are also supported, such as --single-transaction, --quick, and --lock-tables. See the mysqldump documentation for details.

Load Snapshot

Restore a database from an existing snapshot using the snapshot:load command.

Basic usage:

# Restore from a standard SQL file
php flarum snapshot:load /path/to/backup.sql

# Restore directly from a compressed file (automatically decompressed on the fly)
php flarum snapshot:load /path/to/backup.sql.gz
php flarum snapshot:load /path/to/backup.sql.bz2

Options for Loading

  • --drop-tables: Drop all existing tables before loading the snapshot. Useful when restoring a full backup into an existing database to avoid conflicts.
  • --binary-path=/path/to/binary: Custom path to the mysql binary.

Requirements

  • mysql and mysqldump binaries
  • gzip for .gz snapshots
  • bzip2 for .bz2 snapshots

Links