Download the PHP package microcode/filament-database-backup without Composer
On this page you can find all versions of the php package microcode/filament-database-backup. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package filament-database-backup
Filament Database Backup
Laravel 12 / 13 + Filament 4 / 5 plugin for database backup, restore, and scheduling.
Supports MySQL / MariaDB / PostgreSQL via CLI tools (mysqldump / mysql, pg_dump / psql).
Package: microcode/filament-database-backup
Namespace: Microcode\FilamentDatabaseBackup
Not supported: SQLite, application file backups, Spatie Backup.
Install
This package requires microcode/filament-integrations. Register both plugins on the Filament panel. Enable the aws driver if you want backups stored on S3.
Authorization is injected via ->authorize(...). Navigation group / icon / sort / cluster are configurable on the plugin. No host roles or clusters are hardcoded.
Filesystem disk
Add a private local disk (e.g. in config/filesystems.php). Dumps always start here; when AWS is configured this disk keeps only the latest .sql file.
Config key database-backup.disk defaults to backups.
S3 storage
When the Integrations AWS driver has access_key_id, secret_access_key, region, and bucket:
- the dump is uploaded to the Laravel S3 disk (default name
s3, orFILAMENT_INTEGRATIONS_AWS_DISK/DATABASE_BACKUP_S3_DISK); - the catalog row stores that remote disk;
- older dumps live on S3 until retention deletes them;
- locally only the newest file remains.
Host requirements:
- Enable
awsonIntegrationsPluginand save credentials in the Integrations UI. - Define an S3 disk stub in
config/filesystems.php(driver => s3). - Install
league/flysystem-aws-s3-v3.
Set DATABASE_BACKUP_S3_ENABLED=false to force local-only storage.
Retention
Global default (manual backups and S3 copies):
If omitted, config('database-backup.default_retention_days') is used (env DATABASE_BACKUP_DEFAULT_RETENTION_DAYS). Each schedule can override this for its own backups.
Cleanup runs after every successful backup and from database-backup:run-scheduled.
Queue worker
All create / restore / run-now work is queued.
Scheduler
In routes/console.php (or the host scheduler):
Command options:
--force— run all active schedules--schedule=— run one schedule by ID (forced)
Environment / config
Published file: config/database-backup.php
| Key | Purpose |
|---|---|
disk |
Local filesystem disk name |
path_prefix |
Folder under disk (default: slug of app.name) |
s3.enabled / s3.disk |
Use S3 when AWS is configured; optional disk name override |
queue / job_timeout |
Queue name and job timeout |
process_timeout_seconds |
CLI process timeout |
mysqldump_path / mysql_path / mysqldump_flags |
MySQL tools |
pg_dump_path / psql_path / pg_dump_flags |
PostgreSQL tools |
default_retention_days / retention_days_min / retention_days_max |
Retention window |
tables.backups / tables.backup_schedules |
Table name overrides |
Passwords are passed only via MYSQL_PWD / PGPASSWORD process env — never on argv or in logs.
Features
- Manual backup (queued dump →
.sqlon disk or S3 + catalog row) - Restore with confirmation (queued; local cache or S3 download; ALL CURRENT DATA WILL BE LOST)
- Catalog sync from
{path_prefix}/*.sqlon the canonical disk - Secure download route
database-backup.download(authorize + path checks) - Schedules: hourly / daily, optional per-schedule retention override
- Artisan
database-backup:run-scheduled
Testing
Package tests use an in-memory SQLite connection for the catalog tables only. Dump/restore CLI paths are covered with callbacks / unit mapping tests — no real mysqldump is required.
License
MIT
All versions of filament-database-backup with dependencies
filament/filament Version ^4.0|^5.0
illuminate/contracts Version ^12.0|^13.0
illuminate/support Version ^12.0|^13.0
livewire/livewire Version ^3.0|^4.0
microcode/filament-integrations Version ^1.1
spatie/laravel-package-tools Version ^1.16