[Feature Request] Partial indexes
Maintainer antworten meist innerhalb von 1 Tag
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Anfängerfreundlichkeit
- 15/100
- Issue-Typ
- Feature
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Ruhig
- Tech-Stack
- sql, typescript
- Bereich
- databases
Rechercherichtung
The desired syntax is spelled out in the request, but no file or entry point is named, so start by finding where ZModel parses and validates @@index/@@unique attributes and follow the path to where the Prisma schema and migrations are generated. A working result means the where filter on @@index/@@unique survives parsing and validation and shows up in the emitted Prisma schema. This is a cross-cutting language-design change touching the parser, validator and generators, and the one comment thread has not settled the design, so it is not a starting point for a first contribution.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Is your feature request related to a problem? Please describe.
Currently, it is not possible to describe partial indexes/unique constraint in the model itself, requiring external sql migration file.
This feature would allow for unique email for accounts that are active for example, or index only records created after a certain date, index active tasks only or allow for better soft deletion flexibility.
Describe the solution you'd like
model User {
id String @id
accountId String
status String
email String
deletedAt DateTime?
// Unique active emails per account (exclude soft-deleted)
@@unique([accountId, email], where: { deletedAt: null })
// Index only active or pending account
@@index([accountId, status], where: { status: { in: ["pending", "active"] } })
// Sparse index, only index rows where field is non-null
@@index([accountId, email], where: { email: { not: null } })
}
Additional context
Add any other context or screenshots about the feature request here.
- Vorherrschende Sprache
- TypeScript
- Sterne
- 2.9k
- Forks
- 157
- Ø Merge
- 11 Std. 42 Min.
- Gemergte PRs (30 T.)
- 20
Entwicklungsumgebung
Dieses Projekt bietet weder Dev-Container noch Dockerfile noch Beitragsleitfaden – die Einrichtung liegt bei Ihnen. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus zenstackhq/zenstack
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
zenstackhq/zenstack#2873 ·
Maintainer antworten meist innerhalb von 1 Tag
-
runtime
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
zenstackhq/zenstack#2868 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
zenstackhq/zenstack#2694 · 3 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 68/100
zenstackhq/zenstack#2659 · 2 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 65/100
zenstackhq/zenstack#2542 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in zenstackhq/zenstack
Ähnliche Issues
-
First unknown-user login after boot is one scrypt run slower than a real user's wrong passwordOffenarea: backend bug priority: low
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
snapotter-hq/SnapOtter#2254 ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug ticket
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
cratestack/cratestack#1154 ·
Maintainer antworten meist innerhalb von 1 Tag
-
server 消息处理器 cmd 分支补显式错误回报——竞态非法命令现走未处理拒绝Evtl. vergeben @openaddr hat das heute übernommen. Offenready-for-agent refactor wayfinder:task
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
openaddr/dafung-web#428 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Flaky: mongodb-memory-server 'Port already in use' when another process starts a mongod concurrentlyOffenarea:testing bug effort:S priority:P2
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
Maintainer antworten meist innerhalb von 1 Tag
-
lens:agent lens:process process
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
thebristolsound/birdbrain#1772 ·
Maintainer antworten meist innerhalb von 1 Tag