Reset and seed database for development or testing. Use when needing fresh database state, running migrations, or seeding test data.
Reset databases to a clean state and optionally seed with test data.
$ARGUMENTS: Project name (optional - uses current directory if not specified)| Project | Database | Connection | Seed Script |
|---|---|---|---|
| eruditiontx-services-mvp | MongoDB | mongodb://localhost:27017/eruditiontx_db | scripts/seed.py |
| mathmatterstx-services |
| MongoDB |
mongodb://localhost:27017/mathmatters_db |
scripts/seed.py |
| notaryo.ph | PostgreSQL | .env.local DATABASE_URL | prisma/seed.ts |
| bocs-turbo | Various | Per app config | Per app |
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
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
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
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
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
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
If something goes wrong:
# MongoDB
mongorestore --db=$DB_NAME ./backup/[timestamp]/$DB_NAME
# PostgreSQL
psql $DATABASE_URL < ./backup/[timestamp].sql