diff --git a/prisma/migrations/20260324_add_route_segments/migration.sql b/prisma/migrations/20260324_add_route_segments/migration.sql new file mode 100644 index 0000000..978bd90 --- /dev/null +++ b/prisma/migrations/20260324_add_route_segments/migration.sql @@ -0,0 +1,29 @@ +-- CreateTable +CREATE TABLE "RouteSegment" ( + "id" TEXT NOT NULL, + "tripId" TEXT NOT NULL, + "fromDestId" TEXT NOT NULL, + "toDestId" TEXT NOT NULL, + "profile" TEXT NOT NULL DEFAULT 'driving-car', + "distanceMeters" INTEGER, + "durationSeconds" INTEGER, + "geometry" TEXT, + "computedAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + + CONSTRAINT "RouteSegment_pkey" PRIMARY KEY ("id") +); + +-- CreateIndex +CREATE INDEX "RouteSegment_tripId_idx" ON "RouteSegment"("tripId"); + +-- CreateIndex +CREATE UNIQUE INDEX "RouteSegment_tripId_fromDestId_toDestId_profile_key" ON "RouteSegment"("tripId", "fromDestId", "toDestId", "profile"); + +-- AddForeignKey +ALTER TABLE "RouteSegment" ADD CONSTRAINT "RouteSegment_tripId_fkey" FOREIGN KEY ("tripId") REFERENCES "Trip"("id") ON DELETE CASCADE ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "RouteSegment" ADD CONSTRAINT "RouteSegment_fromDestId_fkey" FOREIGN KEY ("fromDestId") REFERENCES "Destination"("id") ON DELETE CASCADE ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "RouteSegment" ADD CONSTRAINT "RouteSegment_toDestId_fkey" FOREIGN KEY ("toDestId") REFERENCES "Destination"("id") ON DELETE CASCADE ON UPDATE CASCADE;