70af9da338
Adds five new nullable columns to the pets table: - coat_type (text) - temperament_score (integer, range 1–5) - temperament_flags (jsonb, string[]) - medical_alerts (jsonb, typed MedicalAlert[]) - preferred_cuts (jsonb, string[]) Also: - Exports MedicalAlert interface and MedicalAlertSeverity type from schema - Updates shared Pet type in packages/types - Adds Zod validators for all fields (ranges, max lengths, enum) - Adds 14 tests covering happy path and validation edge cases - Fixes drizzle.config.ts schema path (was ./src/schema.ts, correct is ./src/db/schema.ts) Refs: GRO-1176 Co-Authored-By: Paperclip <noreply@paperclip.ing>
12 lines
419 B
PL/PgSQL
12 lines
419 B
PL/PgSQL
-- Migration: 0030_extended_pet_profile
|
|
-- Adds extended profile fields to the pets table
|
|
|
|
BEGIN;
|
|
|
|
ALTER TABLE pets ADD COLUMN coat_type text;
|
|
ALTER TABLE pets ADD COLUMN temperament_score integer;
|
|
ALTER TABLE pets ADD COLUMN temperament_flags jsonb DEFAULT '[]'::jsonb;
|
|
ALTER TABLE pets ADD COLUMN medical_alerts jsonb DEFAULT '[]'::jsonb;
|
|
ALTER TABLE pets ADD COLUMN preferred_cuts jsonb DEFAULT '[]'::jsonb;
|
|
|
|
COMMIT; |