From 68f30cf171ca5328dc083c0c1862d4e882d96736 Mon Sep 17 00:00:00 2001 From: "WQY\\qiong" Date: Fri, 31 Mar 2023 09:57:22 +0800 Subject: [PATCH] Move script out to create template --- create_template.py | 108 +++++++++++++++++++++++++++++++++++++++++++++ script/template.py | 108 --------------------------------------------- 2 files changed, 108 insertions(+), 108 deletions(-) create mode 100644 create_template.py delete mode 100644 script/template.py diff --git a/create_template.py b/create_template.py new file mode 100644 index 0000000..50ff02b --- /dev/null +++ b/create_template.py @@ -0,0 +1,108 @@ +import psycopg as pg + +sql_create = [ + "script/sql/create/0.base.sql", + "script/sql/create/1.title.sql", + "script/sql/create/2.junctions.sql", + "script/sql/create/3.reservoirs.sql", + "script/sql/create/4.tanks.sql", + "script/sql/create/5.pipes.sql", + "script/sql/create/6.pumps.sql", + "script/sql/create/7.valves.sql", + "script/sql/create/8.tags.sql", + "script/sql/create/9.demands.sql", + "script/sql/create/10.status.sql", + "script/sql/create/11.patterns.sql", + "script/sql/create/12.curves.sql", + "script/sql/create/13.controls.sql", + "script/sql/create/14.rules.sql", + "script/sql/create/15.energy.sql", + "script/sql/create/16.emitters.sql", + "script/sql/create/17.quality.sql", + "script/sql/create/18.sources.sql", + "script/sql/create/19.reactions.sql", + "script/sql/create/20.mixing.sql", + "script/sql/create/21.times.sql", + "script/sql/create/22.report.sql", + "script/sql/create/23.options.sql", + "script/sql/create/24.coordinates.sql", + "script/sql/create/25.vertices.sql", + "script/sql/create/26.labels.sql", + "script/sql/create/27.backdrop.sql", + "script/sql/create/28.end.sql", + "script/sql/create/29.scada_device.sql", + "script/sql/create/30.scada_device_data.sql", + "script/sql/create/31.scada_element.sql", + "script/sql/create/operation.sql" +] + +sql_drop = [ + "script/sql/drop/operation.sql", + "script/sql/drop/31.scada_element.sql", + "script/sql/drop/30.scada_device_data.sql", + "script/sql/drop/29.scada_device.sql", + "script/sql/drop/28.end.sql", + "script/sql/drop/27.backdrop.sql", + "script/sql/drop/26.labels.sql", + "script/sql/drop/25.vertices.sql", + "script/sql/drop/24.coordinates.sql", + "script/sql/drop/23.options.sql", + "script/sql/drop/22.report.sql", + "script/sql/drop/21.times.sql", + "script/sql/drop/20.mixing.sql", + "script/sql/drop/19.reactions.sql", + "script/sql/drop/18.sources.sql", + "script/sql/drop/17.quality.sql", + "script/sql/drop/16.emitters.sql", + "script/sql/drop/15.energy.sql", + "script/sql/drop/14.rules.sql", + "script/sql/drop/13.controls.sql", + "script/sql/drop/12.curves.sql", + "script/sql/drop/11.patterns.sql", + "script/sql/drop/10.status.sql", + "script/sql/drop/9.demands.sql", + "script/sql/drop/8.tags.sql", + "script/sql/drop/7.valves.sql", + "script/sql/drop/6.pumps.sql", + "script/sql/drop/5.pipes.sql", + "script/sql/drop/4.tanks.sql", + "script/sql/drop/3.reservoirs.sql", + "script/sql/drop/2.junctions.sql", + "script/sql/drop/1.title.sql", + "script/sql/drop/0.base.sql" +] + +def create_template(): + with pg.connect(conninfo="dbname=postgres host=127.0.0.1", autocommit=True) as conn: + with conn.cursor() as cur: + cur.execute("create database project") + with pg.connect(conninfo="dbname=project host=127.0.0.1") 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 have_template(): + with pg.connect(conninfo="dbname=postgres host=127.0.0.1", autocommit=True) as conn: + with conn.cursor() as cur: + cur.execute("select * from pg_database where datname = 'project'") + return cur.rowcount > 0 + +def delete_template(): + with pg.connect(conninfo="dbname=project host=127.0.0.1") 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 host=127.0.0.1", autocommit=True) as conn: + with conn.cursor() as cur: + cur.execute("drop database project") + +if __name__ == "__main__": + if (have_template()): + delete_template() + create_template() diff --git a/script/template.py b/script/template.py deleted file mode 100644 index a15c882..0000000 --- a/script/template.py +++ /dev/null @@ -1,108 +0,0 @@ -import psycopg as pg - -sql_create = [ - "sql/create/0.base.sql", - "sql/create/1.title.sql", - "sql/create/2.junctions.sql", - "sql/create/3.reservoirs.sql", - "sql/create/4.tanks.sql", - "sql/create/5.pipes.sql", - "sql/create/6.pumps.sql", - "sql/create/7.valves.sql", - "sql/create/8.tags.sql", - "sql/create/9.demands.sql", - "sql/create/10.status.sql", - "sql/create/11.patterns.sql", - "sql/create/12.curves.sql", - "sql/create/13.controls.sql", - "sql/create/14.rules.sql", - "sql/create/15.energy.sql", - "sql/create/16.emitters.sql", - "sql/create/17.quality.sql", - "sql/create/18.sources.sql", - "sql/create/19.reactions.sql", - "sql/create/20.mixing.sql", - "sql/create/21.times.sql", - "sql/create/22.report.sql", - "sql/create/23.options.sql", - "sql/create/24.coordinates.sql", - "sql/create/25.vertices.sql", - "sql/create/26.labels.sql", - "sql/create/27.backdrop.sql", - "sql/create/28.end.sql", - "sql/create/29.scada_device.sql", - "sql/create/30.scada_device_data.sql", - "sql/create/31.scada_element.sql", - "sql/create/operation.sql" -] - -sql_drop = [ - "sql/drop/operation.sql", - "sql/drop/31.scada_element.sql", - "sql/drop/30.scada_device_data.sql", - "sql/drop/29.scada_device.sql", - "sql/drop/28.end.sql", - "sql/drop/27.backdrop.sql", - "sql/drop/26.labels.sql", - "sql/drop/25.vertices.sql", - "sql/drop/24.coordinates.sql", - "sql/drop/23.options.sql", - "sql/drop/22.report.sql", - "sql/drop/21.times.sql", - "sql/drop/20.mixing.sql", - "sql/drop/19.reactions.sql", - "sql/drop/18.sources.sql", - "sql/drop/17.quality.sql", - "sql/drop/16.emitters.sql", - "sql/drop/15.energy.sql", - "sql/drop/14.rules.sql", - "sql/drop/13.controls.sql", - "sql/drop/12.curves.sql", - "sql/drop/11.patterns.sql", - "sql/drop/10.status.sql", - "sql/drop/9.demands.sql", - "sql/drop/8.tags.sql", - "sql/drop/7.valves.sql", - "sql/drop/6.pumps.sql", - "sql/drop/5.pipes.sql", - "sql/drop/4.tanks.sql", - "sql/drop/3.reservoirs.sql", - "sql/drop/2.junctions.sql", - "sql/drop/1.title.sql", - "sql/drop/0.base.sql" -] - -def create_template(): - with pg.connect(conninfo="dbname=postgres host=127.0.0.1", autocommit=True) as conn: - with conn.cursor() as cur: - cur.execute("create database project") - with pg.connect(conninfo="dbname=project host=127.0.0.1") 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 have_template(): - with pg.connect(conninfo="dbname=postgres host=127.0.0.1", autocommit=True) as conn: - with conn.cursor() as cur: - cur.execute("select * from pg_database where datname = 'project'") - return cur.rowcount > 0 - -def delete_template(): - with pg.connect(conninfo="dbname=project host=127.0.0.1") 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 host=127.0.0.1", autocommit=True) as conn: - with conn.cursor() as cur: - cur.execute("drop database project") - -if __name__ == "__main__": - if (have_template()): - delete_template() - create_template()