Files
website/drizzle/20261026011600_goal_metrics/migration.sql

24 lines
1.1 KiB
SQL

CREATE TABLE "tasks"."metric_sources" (
"key" text PRIMARY KEY,
"value" numeric(14,2),
"detail" jsonb,
"computed_at" timestamp with time zone DEFAULT now() NOT NULL,
"attempted_at" timestamp with time zone DEFAULT now() NOT NULL,
"error" text
);
--> statement-breakpoint
ALTER TABLE "tasks"."goals" ADD COLUMN "metric_key" text;--> statement-breakpoint
ALTER TABLE "tasks"."goals" ADD COLUMN "metric_detail" jsonb;--> statement-breakpoint
ALTER TABLE "tasks"."goals" ADD COLUMN "metric_computed_at" timestamp with time zone;--> statement-breakpoint
-- Grants (default privileges already cover new tasks tables; explicit for safety). Prod only.
DO $$
BEGIN
IF current_user = 'personal' AND EXISTS (SELECT 1 FROM pg_roles WHERE rolname = 'personal_app') THEN
GRANT SELECT, INSERT, UPDATE, DELETE ON tasks.metric_sources TO personal_app;
END IF;
END $$;
--> statement-breakpoint
-- Stan's income goal gets the auto metric (salary from money.recurring + Moneybird side income).
UPDATE tasks.goals SET metric_key = 'own-net-income-monthly'
WHERE metric_key IS NULL AND title ILIKE '€10k net/month into own Revolut%';