51f95e0fd6
Part of GRO-802 monorepo breakdown. Changes: - Extract apps/api/ as the main API service - Inline packages/db/ (database schema, migrations, utilities) - Inline packages/types/ (shared TypeScript types) - Add CI workflow for lint, typecheck, test, build, docker - Port Dockerfile with 4 stages: runner, migrate, seed, reset Co-Authored-By: Paperclip <noreply@paperclip.ing>
7 lines
315 B
SQL
7 lines
315 B
SQL
-- Clean up existing duplicate services before adding unique constraint.
|
|
-- Keep the row with the lowest id per name; delete all others.
|
|
DELETE FROM services WHERE id NOT IN (
|
|
SELECT (MIN(id::text))::uuid FROM services GROUP BY name
|
|
);
|
|
|
|
ALTER TABLE "services" ADD CONSTRAINT "services_name_unique" UNIQUE("name"); |