-- 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");