28 lines
1.4 KiB
Plaintext
28 lines
1.4 KiB
Plaintext
---
|
|
description: Guidelines for generating and managing TypeORM migrations in twenty-server
|
|
globs: [
|
|
"packages/twenty-server/src/**/*.entity.ts",
|
|
"packages/twenty-server/src/database/typeorm/**/*.ts"
|
|
]
|
|
alwaysApply: false
|
|
---
|
|
|
|
## Server Migrations (twenty-server)
|
|
|
|
- **When changing an entity, always generate a migration**
|
|
- If you modify a `*.entity.ts` file in `packages/twenty-server/src`, you **must** generate a corresponding TypeORM migration instead of manually editing the database schema.
|
|
- Use the Nx command from the project root:
|
|
|
|
```bash
|
|
npx nx run twenty-server:database:migrate:generate
|
|
```
|
|
|
|
- **Prefer generated migrations over manual edits**
|
|
- Let TypeORM infer schema changes from the updated entities; only adjust the generated migration file manually if absolutely necessary (for example, for data backfills or complex constraints).
|
|
- Keep schema changes (DDL) in these generated migrations and avoid mixing in heavy data migrations unless there is a strong reason and clear comments.
|
|
|
|
- **Keep migrations consistent and reversible**
|
|
- Ensure the generated migration includes both `up` and `down` logic that correctly applies and reverts the entity change when possible.
|
|
- Do not delete or rewrite existing, committed migrations unless you are explicitly working on a pre-release branch where history rewrites are allowed by team conventions.
|
|
|