pelagia-portal/App/prisma/migrations/20260527010000_vessel_code/migration.sql
Hardik a2c35d0a93 feat(admin): auto-generate structured IDs for users, vendors, accounts and cost centres
Users: employeeId auto-generated from role prefix (TCH/MAN/ACC/MGR/SUP/AUD/ADM)
followed by next sequential number; shown read-only in edit form, removed
from create form. Cost Centres: new code field (SITE-001 ...) added to
Vessel model with migration + backfill; auto-generated on create, read-only
in edit. Vendors and Accounts: code/vendorId inputs pre-filled with the
next suggested ID (VND-001, ACC-001) from the server page; user can override
with any PREFIX-NUMBER format, validated by regex.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-27 15:02:50 +05:30

12 lines
369 B
SQL

ALTER TABLE "Vessel" ADD COLUMN "code" TEXT;
WITH numbered AS (
SELECT id, ROW_NUMBER() OVER (ORDER BY id) AS n
FROM "Vessel"
)
UPDATE "Vessel" SET "code" = 'SITE-' || LPAD(n::text, 3, '0')
FROM numbered
WHERE "Vessel".id = numbered.id;
ALTER TABLE "Vessel" ALTER COLUMN "code" SET NOT NULL;
ALTER TABLE "Vessel" ADD CONSTRAINT "Vessel_code_key" UNIQUE ("code");