diff --git a/CS_499_database.py b/CS_499_database.py new file mode 100644 index 0000000000000000000000000000000000000000..807738939b984ba2f37a567f56b4b8c409914d87 --- /dev/null +++ b/CS_499_database.py @@ -0,0 +1,154 @@ +import psycopg2 + +# import CS_499_backend +from CS_499_backend import Door_Window, Appliance_1, Appliance_with_Water, Temperature_data + +# create a new database +conn = psycopg2.connect(database="Team3DB", user="Team3", password="team3", host="138.26.48.83", port="5432") +cur = conn.cursor() +cur.execute("CREATE DATABASE Team3 ") +conn.close() + +# create a new table for Door_Window_History +conn = psycopg2.connect(database="Team3DB", user="Team3", password="team3", host="138.26.48.83", port="5432") +cur = conn.cursor() +cur.execute(""" + CREATE TABLE Door_Window_History ( + id SERIAL PRIMARY KEY, + day VARCHAR(255), + door_status INTEGER, + door_time FLOAT, + window_status INTEGER, + window_time FLOAT + ); + """) + +conn.commit() + +# insert the data into the Door_Window_History table +for i in Door_Window_History: + cur.execute(""" + INSERT INTO Door_Window_History ( + day, door_status, door_time, window_status, window_time) + VALUES (%s, %s, %s, %s, %s); + """, ( + Door_Window_History[i].day, Door_Window_History[i].Door_status, Door_Window_History[i].Door_time, + Door_Window_History[i].Window_status, Door_Window_History[i].Window_time + )) + +conn.commit() + +# create a new table for App1_History +conn = psycopg2.connect(database="Team3DB", user="Team3", password="team3", host="138.26.48.83", port="5432") +cur.execute(""" + CREATE TABLE App1_History ( + id SERIAL PRIMARY KEY, + day VARCHAR(255), + micro_pwr FLOAT, + stove_pwr FLOAT, + oven_pwr FLOAT, + Lrtv_pwr FLOAT, + Brtv_pwr FLOAT, + fridge_pwr FLOAT, + lights_pwr FLOAT, + micro_ct FLOAT, + stove_ct FLOAT, + oven_ct FLOAT, + Lrtv_ct FLOAT, + Brtv_ct FLOAT, + fridge_ct FLOAT, + lights_ct FLOAT + ); + """) + +conn.commit() + +# insert the data into the App1_History table +for i in App1_History: + cur.execute(""" + INSERT INTO App1_History ( + day, micro_pwr, stove_pwr, oven_pwr, Lrtv_pwr, Brtv_pwr, + fridge_pwr, lights_pwr, micro_ct, stove_ct, oven_ct, Lrtv_ct, + Brtv_ct, fridge_ct, lights_ct + ) + VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s); + """, ( + App1_History[i].day, App1_History[i].micro_pwr, App1_History[i].stove_pwr, + App1_History[i].oven_pwr, App1_History[i].Lrtv_pwr, App1_History[i].Brtv_pwr, + App1_History[i].fridge_pwr, App1_History[i].lights_pwr, App1_History[i].micro_ct, + App1_History[i].stove_ct, App1_History[i].oven_ct, App1_History[i].Lrtv_ct, + App1_History[i].Brtv_ct, App1_History[i].fridge_ct, App1_History[i].lights_ct + )) + + +# create a new table for appliance_with_water +conn = psycopg2.connect(database="Team3DB", user="Team3", password="team3", host="138.26.48.83", port="5432") +cur.execute(""" + CREATE TABLE appliance_with_water ( + id SERIAL PRIMARY KEY, + day TEXT, + water_heat_pwr FLOAT, + dishwasher_pwr FLOAT, + clothes_wash_pwr FLOAT, + clothes_dry_pwr FLOAT, + bath_fans_pwr FLOAT, + water_heat_ug FLOAT, + bath_water_ug FLOAT, + shower_water_ug FLOAT, + dishwasher_ug FLOAT, + clothes_wash_ug FLOAT, + water_heat_ct FLOAT, + dishwasher_ct FLOAT, + clothes_wash_ct FLOAT, + clothes_dry_ct FLOAT, + bath_fans_ct FLOAT, + water_ct FLOAT, + bath INT, + shower INT + ); +""") + +# insert data into the App2_History table +for timestamp, data in App2_History.items(): + cur.execute(""" + INSERT INTO appliance_with_water ( + day, water_heat_pwr, dishwasher_pwr, clothes_wash_pwr, + clothes_dry_pwr, bath_fans_pwr, water_heat_ug, bath_water_ug, + shower_water_ug, dishwasher_ug, clothes_wash_ug, water_heat_ct, + dishwasher_ct, clothes_wash_ct, clothes_dry_ct, bath_fans_ct, + water_ct, bath, shower + ) + VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s); + """, ( + data.day, data.Water_Heat_pwr, data.DishWasher_pwr, data.Clothes_Wash_pwr, + data.Clothes_dry_pwr, data.bath_fans_pwr, data.Water_Heat_ug, data.Bath_water_ug, + data.Shower_water_ug, data.DishWasher_ug, data.Clothes_Wash_ug, data.Water_Heat_ct, + data.DishWasher_ct, data.Clothes_Wash_ct, data.Clothes_dry_ct, data.bath_fans_ct, + data.Water_ct, data.bath, data.shower + )) + +# create a new table for Temperature_data +conn = psycopg2.connect(database="Team3DB", user="Team3", password="team3", host="138.26.48.83", port="5432") +cur.execute(""" + CREATE TABLE Temperature_data ( + id SERIAL PRIMARY KEY, + temp_power FLOAT, + temp_cost FLOAT + ); +""") + +# insert data into the App3_History Table +for i in App3_Histroy: + cur.execute(""" + INSERT INTO temperature_data ( + temp_power, temp_cost + ) + VALUES (%s, %s); + """, ( + App3_History[i].temp_power, App3_History[i].temp_cost + )) + +# Commit changes +conn.commit() +cur.close() +conn.close() \ No newline at end of file