16 lines
394 B
SQL
16 lines
394 B
SQL
ALTER TABLE "Rule" ADD COLUMN "position" INTEGER NOT NULL DEFAULT 0;
|
|
|
|
WITH ordered AS (
|
|
SELECT
|
|
"id",
|
|
"tenantId",
|
|
ROW_NUMBER() OVER (PARTITION BY "tenantId" ORDER BY "createdAt" ASC, "id" ASC) - 1 AS pos
|
|
FROM "Rule"
|
|
)
|
|
UPDATE "Rule" r
|
|
SET "position" = ordered.pos
|
|
FROM ordered
|
|
WHERE ordered.id = r.id;
|
|
|
|
CREATE INDEX "Rule_tenantId_position_idx" ON "Rule"("tenantId", "position");
|