Skip to content
Back to skills

Database Backup Liauw Media Codeassist

ASecurity

Backup database before tests, migrations, or other database operations

  • 666 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added February 8, 2026
databasesphpbashtestingdatabase

Works with

  • terminal

Security analysis

A100/100

Scanned February 12, 2026

npx -y skills add majiayu000/claude-skill-registry --skill database-backup-liauw-media-codeassist --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Database Backup Liauw Media Codeassist?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Database Backup Liauw Media Codeassist
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/majiayu000-database-backup-liauw-media-codeassist/badge)](https://www.skillsdirectory.com/skills/majiayu000-database-backup-liauw-media-codeassist)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: database-backup
description: "Backup database before tests, migrations, or other database operations"
---

# Database Backup

## Core Principle

Create a backup before running any operation that could modify or destroy database data.

## When to Use

Before running:
- Tests (`npm test`, `pytest`, `php artisan test`)
- Migrations (`php artisan migrate`, `prisma migrate`)
- Seeders (`php artisan db:seed`)
- Any destructive queries

## Quick Start

```bash
# Create backup
./scripts/backup-database.sh

# Run tests with automatic backup
./scripts/safe-test.sh npm test

# Run migrations with automatic backup
./scripts/safe-migrate.sh php artisan migrate

# Restore if needed
./scripts/restore-database.sh --latest
```

## Why This Matters

Real incidents that informed this practice:
- Tests running against production database wiped 6 months of data
- `migrate:fresh` in wrong terminal reset staging database

A backup takes seconds. Recovery without one can take hours or be impossible.

## Protocol

### Step 1: Check Your Database Connection

```bash
# Verify which database you're connected to
cat .env | grep DB_
```

If you see production credentials, stop and switch to a test database.

### Step 2: Create Backup

```bash
./scripts/backup-database.sh
```

Or use the safe wrappers which backup automatically:
```bash
./scripts/safe-test.sh [your test command]
./scripts/safe-migrate.sh [your migration command]
```

### Step 3: Run Your Operation

After backup is confirmed, proceed with your operation.

### Step 4: Verify

If something went wrong:
```bash
./scripts/restore-database.sh --latest
```

## Safety Scripts

| Script | Purpose |
|--------|---------|
| `backup-database.sh` | Create timestamped backup |
| `restore-database.sh` | Restore from backup |
| `safe-test.sh` | Backup + run tests |
| `safe-migrate.sh` | Backup + run migrations |

See `scripts/README.md` for detailed usage.

## Checklist

Before database operations:
- [ ] Verified database connection (not production)
- [ ] Created backup or using safe wrapper
- [ ] Know how to restore if needed

## Tips

- Use `.env.testing` for test database configuration
- Keep backups for at least a few days
- Test your restore process occasionally
- For production, use your hosting provider's backup features

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.