Stop Overwriting Your Team's Prisma Schema

Featify clones your UAT MySQL database into an isolated database per feature branch. Two developers, two branches, two isolated databases. Zero conflicts. Docker powered, three bash scripts, MIT licensed.

View on GitHub
bash ~ feature/payment-gateway
$pnpm featify ▸ Loading DATABASE_URL from .env.development... ✓ Environment loaded successfully ▸ Feature Name: payment-gateway ▸ Target DB: uat_db_feature_payment-gateway ▸ Creating target database via Docker... ✓ Target database created ▸ Cloning data: uat_db → uat_db_feature_payment-gateway ✓ Database cloned successfully ✓ Created: .env.feature.payment-gateway $

Shared Databases Break Things

Without Featify
Two developers pushing schema changes to the same UAT database. The second push overwrites the first. Tests fail. Productivity drops.
Dev A
feature/pay
Dev B
feature/sync
Shared UAT Database
Schema Overwritten!
With Featify
Each branch gets its own cloned database. Developers can run prisma db push independently without affecting each other.
Dev A
feature/pay
uat_db_feature_pay
Dev B
feature/sync
uat_db_feature_sync
Total Isolation.

The 4-Step Workflow

01

Create Branch

Branch must follow kebab-case naming. The script parses this name to generate your isolated database.

$ git checkout -b feature/payment-gateway
02

Clone Database

Featify spins up a Docker container, runs mysqldump, and creates your new isolated database with data.

$ pnpm featify # Creates .env.feature.payment-gateway
03

Start Server

Run the server with your specific environment file. Prisma will automatically push to your cloned database.

$ pnpm watch:feature
04

Push Schema

Modified your schema.prisma? Push changes directly to your feature database without restarting the server.

$ pnpm prisma:push:feature

System Requirements

D
Docker

Must be installed and running. Featify uses the mysql:8.0 image to run mysql and mysqldump without requiring local installation.

P
Prisma ORM

Built specifically for the prisma db push workflow. Schema file must exist at src/prisma/schema.prisma.

M
MySQL 8.0

Source database must be MySQL. Localhost connections are automatically remapped to host.docker.internal.

B
Bash Environment

Native on macOS and Linux. Windows users must use Git Bash or WSL. Node invokes bash automatically for scripts.