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>
12 lines
369 B
SQL
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");
|