Skip to content

Commit

Permalink
Add files via upload
Browse files Browse the repository at this point in the history
  • Loading branch information
ecgreene87 authored Dec 26, 2024
1 parent 0cb903f commit 877b0e1
Showing 1 changed file with 70 additions and 0 deletions.
70 changes: 70 additions & 0 deletions create_tables (1).py
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
import psycopg2
from sql_queries import create_table_queries, drop_table_queries


def create_database():
"""
- Creates and connects to the sparkifydb
- Returns the connection and cursor to sparkifydb
"""

# connect to default database
conn = psycopg2.connect("host=127.0.0.1 dbname=studentdb user=student password=student")
conn.set_session(autocommit=True)
cur = conn.cursor()

# create sparkify database with UTF8 encoding
cur.execute("DROP DATABASE IF EXISTS sparkifydb")
cur.execute("CREATE DATABASE sparkifydb WITH ENCODING 'utf8' TEMPLATE template0")

# close connection to default database
conn.close()

# connect to sparkify database
conn = psycopg2.connect("host=127.0.0.1 dbname=sparkifydb user=student password=student")
cur = conn.cursor()

return cur, conn


def drop_tables(cur, conn):
"""
Drops each table using the queries in `drop_table_queries` list.
"""
for query in drop_table_queries:
cur.execute(query)
conn.commit()


def create_tables(cur, conn):
"""
Creates each table using the queries in `create_table_queries` list.
"""
for query in create_table_queries:
cur.execute(query)
conn.commit()


def main():
"""
- Drops (if exists) and Creates the sparkify database.
- Establishes connection with the sparkify database and gets
cursor to it.
- Drops all the tables.
- Creates all tables needed.
- Finally, closes the connection.
"""
cur, conn = create_database()

drop_tables(cur, conn)
create_tables(cur, conn)

conn.close()


if __name__ == "__main__":
main()

0 comments on commit 877b0e1

Please sign in to comment.