import psycopg as pg sql_create = [ "sql/base_create.sql", "sql/section_create/1.title.sql", "sql/section_create/2.junctions.sql", "sql/section_create/3.reservoirs.sql", "sql/section_create/4.tanks.sql", "sql/section_create/5.pipes.sql", "sql/section_create/6.pumps.sql", "sql/section_create/7.valves.sql", "sql/section_create/8.tags.sql", "sql/section_create/9.demands.sql", "sql/section_create/10.status.sql", "sql/section_create/11.patterns.sql", "sql/section_create/12.curves.sql", "sql/section_create/13.controls.sql", "sql/section_create/14.rules.sql", "sql/section_create/15.energy.sql", "sql/section_create/16.emitters.sql", "sql/section_create/17.quality.sql", "sql/section_create/18.sources.sql", "sql/section_create/19.reactions.sql", "sql/section_create/20.mixing.sql", "sql/section_create/21.times.sql", "sql/section_create/22.report.sql", "sql/section_create/23.options.sql", "sql/section_create/24.coordinates.sql", "sql/section_create/25.vertices.sql", "sql/section_create/26.labels.sql", "sql/section_create/27.backdrop.sql", "sql/section_create/28.end.sql" ] sql_drop = [ "sql/section_drop/28.end.sql", "sql/section_drop/27.backdrop.sql", "sql/section_drop/26.labels.sql", "sql/section_drop/25.vertices.sql", "sql/section_drop/24.coordinates.sql", "sql/section_drop/23.options.sql", "sql/section_drop/22.report.sql", "sql/section_drop/21.times.sql", "sql/section_drop/20.mixing.sql", "sql/section_drop/19.reactions.sql", "sql/section_drop/18.sources.sql", "sql/section_drop/17.quality.sql", "sql/section_drop/16.emitters.sql", "sql/section_drop/15.energy.sql", "sql/section_drop/14.rules.sql", "sql/section_drop/13.controls.sql", "sql/section_drop/12.curves.sql", "sql/section_drop/11.patterns.sql", "sql/section_drop/10.status.sql", "sql/section_drop/9.demands.sql", "sql/section_drop/8.tags.sql", "sql/section_drop/7.valves.sql", "sql/section_drop/6.pumps.sql", "sql/section_drop/5.pipes.sql", "sql/section_drop/4.tanks.sql", "sql/section_drop/3.reservoirs.sql", "sql/section_drop/2.junctions.sql", "sql/section_drop/1.title.sql", "sql/base_drop.sql" ] def create_template(): with pg.connect(conninfo="dbname=postgres", autocommit=True) as conn: with conn.cursor() as cur: cur.execute(f"create database project") with pg.connect(conninfo=f"dbname=project") as conn: with conn.cursor() as cur: for sql in sql_create: with open(sql, "r") as f: cur.execute(f.read()) print(f'executed {sql}') conn.commit() def delete_template(): with pg.connect(conninfo=f"dbname=project") as conn: with conn.cursor() as cur: for sql in sql_drop: with open(sql, "r") as f: cur.execute(f.read()) print(f'executed {sql}') conn.commit() with pg.connect(conninfo="dbname=postgres", autocommit=True) as conn: with conn.cursor() as cur: cur.execute(f"drop database project")