DataBase changes

This commit is contained in:
2024-11-05 13:47:42 +01:00
parent 8ee85912cc
commit 9bf88df286
3 changed files with 49 additions and 0 deletions

View File

@@ -4,4 +4,5 @@ from src.db import *
if __name__ == "__main__": if __name__ == "__main__":
sprit = Spritpreise(location="Linnich", radius=30) sprit = Spritpreise(location="Linnich", radius=30)
sprit.setDbConnection(dbHost, dbPort, dbUser, dbPassword, dbType) sprit.setDbConnection(dbHost, dbPort, dbUser, dbPassword, dbType)
sprit.createDb()
#sprit.getAllPricesSchedule() #sprit.getAllPricesSchedule()

View File

@@ -0,0 +1,6 @@
import psycopg2
from src.db import *
class SpritpreisAnalysis:
def __init__(self):
pass

View File

@@ -204,3 +204,45 @@ class Spritpreise:
return self return self
def createDb(self):
connection, cursor = self.__getDbConnection()
sql = ('CREATE SEQUENCE IF NOT EXISTS spritpreise_header_id_seq;\
\
-- Table Definition\
CREATE TABLE IF NOT EXISTS "public"."spritpreis_header" (\
"id" int4 NOT NULL DEFAULT nextval(\'spritpreise_header_id_seq\'::regclass),\
"name" text NOT NULL,\
"street" text NOT NULL,\
"city" text NOT NULL,\
PRIMARY KEY ("id")\
);\
-- Indices\
CREATE UNIQUE INDEX IF NOT EXISTS spritpreise_header_pkey ON public.spritpreis_header USING btree (id);\
CREATE INDEX IF NOT EXISTS idx ON public.spritpreis_header USING btree (city) INCLUDE (city, street) WITH (deduplicate_items=\'false\');\
\
CREATE SEQUENCE IF NOT EXISTS spritpreis_position_id_seq;\
\
-- Table Definition\
CREATE TABLE IF NOT EXISTS "public"."spritpreis_position" (\
"id" int4 NOT NULL DEFAULT nextval(\'spritpreis_position_id_seq\'::regclass),\
"of_spritpreis_header" int4 NOT NULL,\
"time" timestamptz NOT NULL,\
"diesel_price" float4,\
"e10_price" float4,\
"e5_price" float4,\
"super_plus_price" float4,\
CONSTRAINT "foreign_idx" FOREIGN KEY ("of_spritpreis_header") REFERENCES "public"."spritpreis_header"("id") ON DELETE CASCADE,\
PRIMARY KEY ("id")\
);\
-- Indices\
CREATE INDEX IF NOT EXISTS "fki_F" ON public.spritpreis_position USING btree (of_spritpreis_header);\
CREATE INDEX IF NOT EXISTS idx_time ON public.spritpreis_position USING btree ("time") WITH (deduplicate_items=\'true\');\
CREATE INDEX IF NOT EXISTS idx_diesel ON public.spritpreis_position USING btree (diesel_price) INCLUDE (diesel_price) WITH (deduplicate_items=\'true\');\
CREATE INDEX IF NOT EXISTS idx_e10 ON public.spritpreis_position USING btree (e10_price) WITH (deduplicate_items=\'true\');\
CREATE INDEX IF NOT EXISTS idx_e5 ON public.spritpreis_position USING btree (e5_price) WITH (deduplicate_items=\'true\');\
CREATE INDEX IF NOT EXISTS idx_super_plus ON public.spritpreis_position USING btree (super_plus_price) WITH (deduplicate_items=\'true\');')
cursor.execute(sql)
cursor.close()
connection.close()