From a0634df1dc0fd70c01a53cf47764f01430aa6900 Mon Sep 17 00:00:00 2001 From: Nicholas Kalar Date: Mon, 16 Jun 2025 22:39:09 -0400 Subject: [PATCH] Initial code added for DB creation --- src/load.py | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/src/load.py b/src/load.py index e69de29..0bc1870 100644 --- a/src/load.py +++ b/src/load.py @@ -0,0 +1,50 @@ +import os +from dotenv import load_dotenv +import psycopg +from datetime import date + +load_dotenv() + +db_name = os.getenv('DB_NAME') +db_user = os.getenv('DB_USER') +db_password = os.getenv('DB_PASSWORD') + +today = date.today() + +collections_table_creation = """ + CREATE TABLE IF NOT EXISTS "Collection_Item"( + "id" BIGINT PRIMARY KEY, + "title" VARCHAR(255) NULL, + "author" VARCHAR(255) NULL, + "publisher" VARCHAR(255) NULL, + "publishing_date" DATE NULL, + "loc_number" VARCHAR(255) NULL, + "dewey_decimal_number" VARCHAR(255) NULL, + "sort_title" VARCHAR(255) NULL, + "format" VARCHAR(255) NULL, + "language" VARCHAR(255) NULL, + "page_count" BIGINT NULL, + "genre" VARCHAR(255) NULL, + "subject" VARCHAR(255) NULL, + "description" BIGINT NULL, + "price_in_cents" BIGINT NULL, + "cover_image_uri" VARCHAR(255) NULL, + "is_checked_in" BOOLEAN NULL, + "is_archived" BOOLEAN NULL, + "is_lost" BOOLEAN NULL, + "lost_date" DATE NULL + ) + """ + +def start(): + with psycopg.connect(f'dbname={db_name} user={db_user} password={db_password}') as conn, \ + open(f"output/transformed_{today}", 'r'): + with conn.cursor() as cur: + cur.execute(collections_table_creation) + + +def load_transformed_books(): + pass + +if __name__ == '__main__': + start() \ No newline at end of file