fp/services/our/scripts/README.md
2025-08-12 21:43:26 -08:00

23 lines
1.2 KiB
Markdown

# scripts
This directory is for **DATA MIGRATIONS ONLY**.
Data migrations are **not** the same as schema migrations.
- **Schema migrations** (handled by Prisma Migrate) change the database structure — adding/removing columns, altering data types, creating new tables, etc.
- **Data migrations** modify the *contents* of the database to align with business logic changes, clean up old data, or backfill new fields without altering the schema.
Examples of data migrations:
- Populating a new column with default or computed values.
- Normalizing inconsistent text formats (e.g., fixing casing, trimming whitespace).
- Converting old enum/string values to new ones.
- Moving data between tables after a structural change has already been applied.
Guidelines:
1. **Idempotent when possible** — running the script twice should not break data integrity.
2. **Version-controlled** — keep a clear history of changes.
3. **Document assumptions** — include comments explaining why the migration is needed and what it affects.
4. **Run after schema changes** — if both schema and data changes are required, update the schema first.
> ⚠️ Always back up your database before running data migrations in production.