Agent Skill
2/7/2026

db-reset

Reset and seed database for development or testing. Use when needing fresh database state, running migrations, or seeding test data.

A
allanninal
0GitHub Stars
1Views
npx skills add allanninal/claude-code-skills

SKILL.md

Namedb-reset
DescriptionReset and seed database for development or testing. Use when needing fresh database state, running migrations, or seeding test data.

name: db-reset description: Reset and seed database for development or testing. Use when needing fresh database state, running migrations, or seeding test data. argument-hint: [project-name] disable-model-invocation: true allowed-tools: Bash, Read, Glob

Database Reset & Seed

Reset databases to a clean state and optionally seed with test data.

Arguments

  • $ARGUMENTS: Project name (optional - uses current directory if not specified)

IMPORTANT WARNINGS

  • NEVER run on production databases
  • Always backup before reset
  • Confirm with user before destructive operations

Database Configurations

ProjectDatabaseConnectionSeed Script
eruditiontx-services-mvpMongoDBmongodb://localhost:27017/eruditiontx_dbscripts/seed.py
mathmatterstx-servicesMongoDBmongodb://localhost:27017/mathmatters_dbscripts/seed.py
notaryo.phPostgreSQL.env.local DATABASE_URLprisma/seed.ts
bocs-turboVariousPer app configPer app

Execution Steps

1. Backup Current Database

MongoDB:

mongodump --db=$DB_NAME --out=./backup/$(date +%Y%m%d_%H%M%S)

PostgreSQL:

pg_dump $DATABASE_URL > ./backup/$(date +%Y%m%d_%H%M%S).sql

2. Reset Database

MongoDB:

mongosh --eval "use $DB_NAME; db.dropDatabase();"
# or with authentication
mongosh mongodb://localhost:27017/$DB_NAME --eval "db.dropDatabase();"

PostgreSQL (Prisma):

npx prisma migrate reset --force
# This drops, recreates, and runs all migrations

3. Run Migrations

MongoDB (Beanie): Beanie auto-creates collections from models. No explicit migration needed.

PostgreSQL (Prisma):

npx prisma migrate deploy
# or for development
npx prisma migrate dev

4. Seed Database

Python Projects:

# If seed script exists
uv run python scripts/seed.py
# or
uv run python -m app.database.seed

Prisma Projects:

npx prisma db seed
# Runs the seed script defined in package.json

Test Database Reset

For running tests with clean database:

Python (pytest):

# Create test database
mongosh --eval "use eruditiontx_test_db; db.dropDatabase();"

# Run tests (they should seed their own fixtures)
uv run pytest --db-reset

JavaScript:

# Usually handled by test setup
npm run test:db-reset

Common Seed Data

User Roles (Erudition Projects)

  • Admin users
  • Staff users
  • Teacher users
  • Student users

Sample Data

  • Test schools/organizations
  • Sample questions/content
  • Test transactions

Output Format

Database Reset: [project-name]
Database Type: [MongoDB/PostgreSQL]
Database Name: [db-name]

1. Creating backup...
   Backup saved: ./backup/[timestamp]

2. Dropping database...
   Database dropped.

3. Running migrations...
   [Migration output]

4. Seeding data...
   [Seed output]

Database reset complete!
Records created:
  - Users: X
  - [Other models]: Y

Recovery

If something goes wrong:

# MongoDB
mongorestore --db=$DB_NAME ./backup/[timestamp]/$DB_NAME

# PostgreSQL
psql $DATABASE_URL < ./backup/[timestamp].sql
Skills Info
Original Name:db-resetAuthor:allanninal