feat(db): add PostgreSQL connection, migration runner, and seed data

- Add pool export and graceful shutdown hook to db/index.ts
- Create migrate.ts — programmatic migration runner using drizzle-orm/migrator
- Create seed.ts — idempotent seed script with sample users, subscriptions,
  watchlist items, exposures, alerts, blog posts, properties, and removal requests
- Create db.test.ts — unit tests for db, migrate, and seed module exports
- Add web/.env.example documenting DATABASE_URL
- Add db:generate, db:push, db:migrate, db:seed scripts to web/package.json
This commit is contained in:
2026-05-25 15:39:20 -04:00
parent bc20aeaeb6
commit 052e08c17b
7 changed files with 376 additions and 1 deletions

View File

@@ -7,7 +7,11 @@
"start": "vite start",
"preview": "vite preview",
"test": "vitest run",
"lint": "tsc --noEmit"
"lint": "tsc --noEmit",
"db:generate": "drizzle-kit generate",
"db:push": "drizzle-kit push",
"db:migrate": "tsx src/server/db/migrate.ts",
"db:seed": "tsx src/server/db/seed.ts"
},
"dependencies": {
"@solidjs/meta": "^0.29.4",
@@ -34,6 +38,7 @@
"@types/pg": "^8.20.0",
"drizzle-kit": "^0.31.10",
"jsdom": "^29.1.1",
"tsx": "^4.22.3",
"vite-plugin-solid": "^2.11.12",
"vitest": "^4.1.5"
}