feat: Configure database with Prisma and MySQL spatial support (Task 22)
- Set up MySQL 8.0+ with spatial data support (POINT SRID 4326) - Created Prisma schema with all models (User, Report, Event, etc.) - Added Clerk authentication support (clerk_id field) - Configured spatial indexes on location fields for performance - Created database migrations and applied to MySQL - Built spatial query utilities for geographical operations - Added database connection singleton and health checks - Created comprehensive documentation and test scripts Requirements: 1.1, 2.1, 3.2, 4.1
This commit is contained in:
@@ -21,11 +21,13 @@ model User {
|
||||
notificationEmail Boolean? @default(true) @map("notification_email")
|
||||
notificationInApp Boolean? @default(true) @map("notification_in_app")
|
||||
areasOfInterest Json? @map("areas_of_interest")
|
||||
clerkId String? @unique(map: "clerk_id") @map("clerk_id") @db.VarChar(255)
|
||||
eventRegistrations EventRegistration[]
|
||||
organizedEvents Event[] @relation("EventOrganizer")
|
||||
reports Report[]
|
||||
verifications Verification[]
|
||||
|
||||
@@index([clerkId], map: "idx_clerk_id")
|
||||
@@index([email], map: "idx_email")
|
||||
@@index([username], map: "idx_username")
|
||||
@@map("users")
|
||||
|
||||
Reference in New Issue
Block a user