drizzle-team / drizzle-team/drizzle-orm

[FEATURE]: `drizzle-seed` should support ignoring specified columns during refinement

Open
#3,964 4 comments 10 reactions 0 assignees View on GitHub
drizzle/seed enhancement
Dominant language
TypeScript
Stars
35.8k
Forks
1.6k
Avg merge
2d 7h
Merged PRs (30d)
4

Description

### Feature hasn't been suggested before.

- [x] I have verified this feature I'm about to request hasn't been suggested before.

### Describe the enhancement you want to request

Given an already set up `drizzle-orm` schema, I would like to hand it over to `drizzle-seed` and then refine which columns should be seeded and which should be ignored.

Currently, there is no way to ignore a custom field column.

**Suggestion**
```ts
// schema.ts
export const users = pgTable("users", {
id: integer().primaryKey(),
name: text().notNull(),
age: int(),
photo: somethingSpecial() // some special field, e.g. a xata file
});

// seed.ts
import * as schema from './schema.ts'

await seed(db, schema).refine((f) => ({
usersTbl: {
count: 5,
columns: {
name: f.fullName(),
photo: false, // photo will not be seeded, i.e. it's completely skipped in the statement, so the database can use its own default value.
// id and age still get seeded implicitly
}
},
}))
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.