mirror of
https://gitlab.com/mobicoop/v3/service/matcher.git
synced 2026-01-09 00:32:39 +00:00
create ad WIP, extract geography methods to dedicated module
This commit is contained in:
@@ -1,65 +0,0 @@
|
||||
-- CreateExtension
|
||||
CREATE EXTENSION IF NOT EXISTS "postgis";
|
||||
|
||||
-- Required to use postgis extension :
|
||||
-- set the search_path to both public and territory (where is postgis) AND the current schema
|
||||
SET search_path TO matcher, territory, public;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "ad" (
|
||||
"uuid" UUID NOT NULL,
|
||||
"driver" BOOLEAN NOT NULL,
|
||||
"passenger" BOOLEAN NOT NULL,
|
||||
"frequency" INTEGER NOT NULL,
|
||||
"from_date" DATE NOT NULL,
|
||||
"to_date" DATE NOT NULL,
|
||||
"mon_time" TIMESTAMPTZ NOT NULL,
|
||||
"tue_time" TIMESTAMPTZ NOT NULL,
|
||||
"wed_time" TIMESTAMPTZ NOT NULL,
|
||||
"thu_time" TIMESTAMPTZ NOT NULL,
|
||||
"fri_time" TIMESTAMPTZ NOT NULL,
|
||||
"sat_time" TIMESTAMPTZ NOT NULL,
|
||||
"sun_time" TIMESTAMPTZ NOT NULL,
|
||||
"mon_margin" INTEGER NOT NULL,
|
||||
"tue_margin" INTEGER NOT NULL,
|
||||
"wed_margin" INTEGER NOT NULL,
|
||||
"thu_margin" INTEGER NOT NULL,
|
||||
"fri_margin" INTEGER NOT NULL,
|
||||
"sat_margin" INTEGER NOT NULL,
|
||||
"sun_margin" INTEGER NOT NULL,
|
||||
"driver_duration" INTEGER NOT NULL,
|
||||
"driver_distance" INTEGER NOT NULL,
|
||||
"passenger_duration" INTEGER NOT NULL,
|
||||
"passenger_distance" INTEGER NOT NULL,
|
||||
"origin_type" SMALLINT NOT NULL,
|
||||
"destination_type" SMALLINT NOT NULL,
|
||||
"waypoints" geography(LINESTRING) NOT NULL,
|
||||
"direction" geography(LINESTRING) NOT NULL,
|
||||
"fwd_azimuth" INTEGER NOT NULL,
|
||||
"back_azimuth" INTEGER NOT NULL,
|
||||
"seats_driver" SMALLINT NOT NULL,
|
||||
"seats_passenger" SMALLINT NOT NULL,
|
||||
"seats_used" SMALLINT NOT NULL,
|
||||
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"updatedAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
|
||||
CONSTRAINT "ad_pkey" PRIMARY KEY ("uuid")
|
||||
);
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "ad_driver_idx" ON "ad"("driver");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "ad_passenger_idx" ON "ad"("passenger");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "ad_from_date_idx" ON "ad"("from_date");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "ad_to_date_idx" ON "ad"("to_date");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "ad_fwd_azimuth_idx" ON "ad"("fwd_azimuth");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "direction_idx" ON "ad" USING GIST ("direction");
|
||||
65
prisma/migrations/20230425130853_/migration.sql
Normal file
65
prisma/migrations/20230425130853_/migration.sql
Normal file
@@ -0,0 +1,65 @@
|
||||
-- CreateExtension
|
||||
CREATE EXTENSION IF NOT EXISTS "postgis";
|
||||
|
||||
-- Required to use postgis extension :
|
||||
-- set the search_path to both public and territory (where is postgis) AND the current schema
|
||||
SET search_path TO matcher, territory, public;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "ad" (
|
||||
"uuid" UUID NOT NULL,
|
||||
"driver" BOOLEAN NOT NULL,
|
||||
"passenger" BOOLEAN NOT NULL,
|
||||
"frequency" INTEGER NOT NULL,
|
||||
"fromDate" DATE NOT NULL,
|
||||
"toDate" DATE NOT NULL,
|
||||
"monTime" TIMESTAMPTZ NOT NULL,
|
||||
"tueTime" TIMESTAMPTZ NOT NULL,
|
||||
"wedTime" TIMESTAMPTZ NOT NULL,
|
||||
"thuTime" TIMESTAMPTZ NOT NULL,
|
||||
"friTime" TIMESTAMPTZ NOT NULL,
|
||||
"satTime" TIMESTAMPTZ NOT NULL,
|
||||
"sunTime" TIMESTAMPTZ NOT NULL,
|
||||
"monMargin" INTEGER NOT NULL,
|
||||
"tueMargin" INTEGER NOT NULL,
|
||||
"wedMargin" INTEGER NOT NULL,
|
||||
"thuMargin" INTEGER NOT NULL,
|
||||
"friMargin" INTEGER NOT NULL,
|
||||
"satMargin" INTEGER NOT NULL,
|
||||
"sunMargin" INTEGER NOT NULL,
|
||||
"driverDuration" INTEGER NOT NULL,
|
||||
"driverDistance" INTEGER NOT NULL,
|
||||
"passengerDuration" INTEGER NOT NULL,
|
||||
"passengerDistance" INTEGER NOT NULL,
|
||||
"originType" SMALLINT NOT NULL,
|
||||
"destinationType" SMALLINT NOT NULL,
|
||||
"waypoints" geography(LINESTRING),
|
||||
"direction" geography(LINESTRING),
|
||||
"fwdAzimuth" INTEGER NOT NULL,
|
||||
"backAzimuth" INTEGER NOT NULL,
|
||||
"seatsDriver" SMALLINT NOT NULL,
|
||||
"seatsPassenger" SMALLINT NOT NULL,
|
||||
"seatsUsed" SMALLINT NOT NULL,
|
||||
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"updatedAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
|
||||
CONSTRAINT "ad_pkey" PRIMARY KEY ("uuid")
|
||||
);
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "ad_driver_idx" ON "ad"("driver");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "ad_passenger_idx" ON "ad"("passenger");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "ad_fromDate_idx" ON "ad"("fromDate");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "ad_toDate_idx" ON "ad"("toDate");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "ad_fwdAzimuth_idx" ON "ad"("fwdAzimuth");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "direction_idx" ON "ad" USING GIST ("direction");
|
||||
@@ -13,47 +13,47 @@ datasource db {
|
||||
}
|
||||
|
||||
model Ad {
|
||||
uuid String @id @default(uuid()) @db.Uuid
|
||||
driver Boolean
|
||||
passenger Boolean
|
||||
frequency Int
|
||||
from_date DateTime @db.Date
|
||||
to_date DateTime @db.Date
|
||||
mon_time DateTime @db.Timestamptz()
|
||||
tue_time DateTime @db.Timestamptz()
|
||||
wed_time DateTime @db.Timestamptz()
|
||||
thu_time DateTime @db.Timestamptz()
|
||||
fri_time DateTime @db.Timestamptz()
|
||||
sat_time DateTime @db.Timestamptz()
|
||||
sun_time DateTime @db.Timestamptz()
|
||||
mon_margin Int
|
||||
tue_margin Int
|
||||
wed_margin Int
|
||||
thu_margin Int
|
||||
fri_margin Int
|
||||
sat_margin Int
|
||||
sun_margin Int
|
||||
driver_duration Int
|
||||
driver_distance Int
|
||||
passenger_duration Int
|
||||
passenger_distance Int
|
||||
origin_type Int @db.SmallInt
|
||||
destination_type Int @db.SmallInt
|
||||
waypoints Unsupported("geography(LINESTRING)")
|
||||
direction Unsupported("geography(LINESTRING)")
|
||||
fwd_azimuth Int
|
||||
back_azimuth Int
|
||||
seats_driver Int @db.SmallInt
|
||||
seats_passenger Int @db.SmallInt
|
||||
seats_used Int @db.SmallInt
|
||||
createdAt DateTime @default(now())
|
||||
updatedAt DateTime @default(now()) @updatedAt
|
||||
uuid String @id @default(uuid()) @db.Uuid
|
||||
driver Boolean
|
||||
passenger Boolean
|
||||
frequency Int
|
||||
fromDate DateTime @db.Date
|
||||
toDate DateTime @db.Date
|
||||
monTime DateTime @db.Timestamptz()
|
||||
tueTime DateTime @db.Timestamptz()
|
||||
wedTime DateTime @db.Timestamptz()
|
||||
thuTime DateTime @db.Timestamptz()
|
||||
friTime DateTime @db.Timestamptz()
|
||||
satTime DateTime @db.Timestamptz()
|
||||
sunTime DateTime @db.Timestamptz()
|
||||
monMargin Int
|
||||
tueMargin Int
|
||||
wedMargin Int
|
||||
thuMargin Int
|
||||
friMargin Int
|
||||
satMargin Int
|
||||
sunMargin Int
|
||||
driverDuration Int
|
||||
driverDistance Int
|
||||
passengerDuration Int
|
||||
passengerDistance Int
|
||||
originType Int @db.SmallInt
|
||||
destinationType Int @db.SmallInt
|
||||
waypoints Unsupported("geography(LINESTRING)")?
|
||||
direction Unsupported("geography(LINESTRING)")?
|
||||
fwdAzimuth Int
|
||||
backAzimuth Int
|
||||
seatsDriver Int @db.SmallInt
|
||||
seatsPassenger Int @db.SmallInt
|
||||
seatsUsed Int @db.SmallInt
|
||||
createdAt DateTime @default(now())
|
||||
updatedAt DateTime @default(now()) @updatedAt
|
||||
|
||||
@@index([driver])
|
||||
@@index([passenger])
|
||||
@@index([from_date])
|
||||
@@index([to_date])
|
||||
@@index([fwd_azimuth])
|
||||
@@index([fromDate])
|
||||
@@index([toDate])
|
||||
@@index([fwdAzimuth])
|
||||
@@index([direction], name: "direction_idx", type: Gist)
|
||||
@@map("ad")
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user