feat: migrate full Prisma schema to Drizzle ORM (29 tables, 28 enums, 25 relations)

- Install drizzle-orm, drizzle-kit, pg, @types/pg in web/
- Create split schema directory with domain files:
  - auth (users, accounts, sessions, deviceTokens)
  - subscription (familyGroups, familyGroupMembers, subscriptions)
  - darkwatch (watchlistItems, exposures)
  - alerts
  - voiceprint (voiceEnrollments, voiceAnalyses, analysisJobs, analysisResults)
  - spamshield (spamFeedback, spamRules)
  - audit (auditLogs, kpiSnapshots)
  - correlation (normalizedAlerts, correlationGroups)
  - reports (securityReports)
  - marketing (waitlistEntries, blogPosts)
  - hometitle (propertyWatchlistItems, propertySnapshots, propertyChanges)
  - removebrokers (infoBrokers, removalRequests, brokerListings)
- Define all 28 PostgreSQL enums via pgEnum()
- Define all indexes, unique constraints, and foreign keys
- Define all 25 relation definitions via relations() helper
- Update drizzle.config.ts for PostgreSQL dialect
- Update db/index.ts for node-postgres connection
- Replace old placeholder schema.ts with barrel re-export
- Add 38 comprehensive schema tests
This commit is contained in:
2026-05-25 15:35:10 -04:00
parent 9dc55517b1
commit bc20aeaeb6
21 changed files with 1780 additions and 23 deletions

View File

@@ -17,9 +17,13 @@
"@tailwindcss/vite": "^4.0.0",
"@trpc/client": "^10.45.2",
"@trpc/server": "^10.45.2",
"@types/three": "^0.184.1",
"@typeschema/valibot": "^0.13.4",
"drizzle-orm": "^0.45.2",
"pg": "^8.21.0",
"solid-js": "^1.9.5",
"tailwindcss": "^4.0.0",
"three": "^0.184.0",
"valibot": "^0.29.0",
"vite": "^7.0.0"
},
@@ -27,6 +31,8 @@
"node": ">=22"
},
"devDependencies": {
"@types/pg": "^8.20.0",
"drizzle-kit": "^0.31.10",
"jsdom": "^29.1.1",
"vite-plugin-solid": "^2.11.12",
"vitest": "^4.1.5"