Remove experiment script
This commit is contained in:
@@ -1,27 +0,0 @@
|
||||
-- get_title()
|
||||
create function tj.get_title() returns text as
|
||||
$$
|
||||
declare
|
||||
title text;
|
||||
begin
|
||||
select value into title from tj.title;
|
||||
return title;
|
||||
end;
|
||||
$$ language plpgsql;
|
||||
|
||||
-- set_title()
|
||||
create function tj.set_title(new_title text) returns void as
|
||||
$$
|
||||
declare
|
||||
old_title text;
|
||||
redo text;
|
||||
undo text;
|
||||
begin
|
||||
select tj.get_title() into old_title;
|
||||
update tj.title set value = new_title where value = old_title;
|
||||
|
||||
redo := concat('update tj.title set value = ''', new_title, ''' where value = ''', old_title, '''');
|
||||
undo := concat('update tj.title set value = ''', old_title, ''' where value = ''', new_title, '''');
|
||||
perform tj.add_operation(redo, undo);
|
||||
end;
|
||||
$$ language plpgsql;
|
||||
@@ -1,109 +0,0 @@
|
||||
create function tj.add_operation(redo text, undo text) returns void as
|
||||
$$
|
||||
declare
|
||||
parent_id int;
|
||||
curr_id int;
|
||||
begin
|
||||
select id into parent_id from tj.current_operation;
|
||||
insert into tj.operation (id, redo, undo, parent) values (default, redo, undo, parent_id);
|
||||
select max(id) into curr_id from tj.operation;
|
||||
update tj.current_operation set id = curr_id where id = parent_id;
|
||||
end;
|
||||
$$ language plpgsql;
|
||||
|
||||
create function tj.have_transaction() returns boolean as
|
||||
$$
|
||||
declare
|
||||
tran_count int;
|
||||
begin
|
||||
select count(*) into tran_count from tj.transaction_operation;
|
||||
return tran_count > 0;
|
||||
end;
|
||||
$$ language plpgsql;
|
||||
|
||||
create function tj.execute_undo(discard boolean) returns void as
|
||||
$$
|
||||
declare
|
||||
curr_id int;
|
||||
have_tran boolean;
|
||||
tran_id int;
|
||||
strict_mode boolean;
|
||||
undo_sql text;
|
||||
parent_id int;
|
||||
begin
|
||||
select id into curr_id from tj.current_operation;
|
||||
|
||||
select tj.have_transaction() into have_tran;
|
||||
if have_tran then
|
||||
select strict into strict_mode from tj.transaction_operation;
|
||||
if strict_mode then
|
||||
return; -- strict mode disallow undo
|
||||
else
|
||||
select id into tran_id from tj.transaction_operation;
|
||||
if tran_id >= curr_id then
|
||||
return; -- # normal mode disallow undo start point, and there is foreign key constraint
|
||||
end if;
|
||||
end if;
|
||||
end if;
|
||||
|
||||
select undo into undo_sql from tj.operation where id = curr_id;
|
||||
if undo_sql = '' then
|
||||
return;
|
||||
end if;
|
||||
|
||||
select parent into parent_id from tj.operation where id = curr_id;
|
||||
if discard then
|
||||
update tj.operation set redo_child = null where id = parent_id;
|
||||
else
|
||||
update tj.operation set redo_child = curr_id where id = parent_id;
|
||||
end if;
|
||||
|
||||
execute undo_sql;
|
||||
|
||||
update tj.current_operation set id = parent_id where id = curr_id;
|
||||
|
||||
if discard then
|
||||
delete from tj.transaction_operation where id = curr_id;
|
||||
delete from tj.snapshot_operation where id = curr_id;
|
||||
delete from tj.operation where id = curr_id;
|
||||
end if;
|
||||
end;
|
||||
$$ language plpgsql;
|
||||
|
||||
create function tj.undo() returns void as
|
||||
$$
|
||||
declare
|
||||
begin
|
||||
perform tj.execute_undo(false);
|
||||
end;
|
||||
$$ language plpgsql;
|
||||
|
||||
create function tj.discard_undo() returns void as
|
||||
$$
|
||||
declare
|
||||
begin
|
||||
perform tj.execute_undo(true);
|
||||
end;
|
||||
$$ language plpgsql;
|
||||
|
||||
create function tj.redo() returns void as
|
||||
$$
|
||||
declare
|
||||
curr_id int;
|
||||
child_id int;
|
||||
redo_sql text;
|
||||
begin
|
||||
select id into curr_id from tj.current_operation;
|
||||
|
||||
select redo_child into child_id from tj.operation where id = curr_id;
|
||||
if child_id = null then
|
||||
return;
|
||||
end if;
|
||||
|
||||
select redo into redo_sql from tj.operation where id = child_id;
|
||||
|
||||
execute redo_sql;
|
||||
|
||||
update tj.current_operation set id = child_id where id = curr_id;
|
||||
end;
|
||||
$$ language plpgsql;
|
||||
@@ -1,9 +0,0 @@
|
||||
create function tj.have_project(in_name text) returns boolean as
|
||||
$$
|
||||
declare
|
||||
db_count int;
|
||||
begin
|
||||
select count(*) into db_count from pg_database where datname = in_name;
|
||||
return db_count > 0;
|
||||
end;
|
||||
$$ language plpgsql;
|
||||
@@ -1,3 +0,0 @@
|
||||
drop function if exists tj.set_title;
|
||||
|
||||
drop function if exists tj.get_title;
|
||||
@@ -1,9 +0,0 @@
|
||||
drop function if exists tj.redo;
|
||||
|
||||
drop function if exists tj.discard_undo;
|
||||
drop function if exists tj.undo;
|
||||
drop function if exists tj.execute_undo;
|
||||
|
||||
drop function if exists tj.have_transaction;
|
||||
|
||||
drop function if exists tj.add_operation;
|
||||
@@ -1,6 +0,0 @@
|
||||
create function xxx() returns void as
|
||||
$$
|
||||
declare
|
||||
begin
|
||||
end;
|
||||
$$ language plpgsql;
|
||||
@@ -1,35 +0,0 @@
|
||||
create type tj.node_type as enum
|
||||
(
|
||||
'junction'
|
||||
, 'reservoir'
|
||||
, 'tank'
|
||||
);
|
||||
|
||||
create type tj.link_type as enum
|
||||
(
|
||||
'pipe'
|
||||
, 'pump'
|
||||
, 'valve'
|
||||
);
|
||||
|
||||
create table tj.node
|
||||
(
|
||||
id varchar(32) primary key
|
||||
, type tj.node_type not null
|
||||
);
|
||||
|
||||
create table tj.link
|
||||
(
|
||||
id varchar(32) primary key
|
||||
, type tj.link_type not null
|
||||
);
|
||||
|
||||
create table tj.curve
|
||||
(
|
||||
id varchar(32) primary key
|
||||
);
|
||||
|
||||
create table tj.pattern
|
||||
(
|
||||
id varchar(32) primary key
|
||||
);
|
||||
@@ -1,8 +0,0 @@
|
||||
-- [title]
|
||||
|
||||
create table tj.title
|
||||
(
|
||||
value text
|
||||
);
|
||||
|
||||
insert into tj.title (value) values ('');
|
||||
@@ -1,33 +0,0 @@
|
||||
-- [status]
|
||||
|
||||
create type tj.status_pipe_pump_status as enum
|
||||
(
|
||||
'open'
|
||||
, 'closed'
|
||||
);
|
||||
|
||||
create table tj.status_pipe
|
||||
(
|
||||
id varchar(32) primary key references tj.pipes(id)
|
||||
, status tj.status_pipe_pump_status not null
|
||||
);
|
||||
|
||||
create table tj.status_pump
|
||||
(
|
||||
id varchar(32) primary key references tj.pumps(id)
|
||||
, status tj.status_pipe_pump_status not null
|
||||
);
|
||||
|
||||
create type tj.status_valve_status as enum ('open', 'closed', 'active');
|
||||
|
||||
create table tj.status_valve
|
||||
(
|
||||
id varchar(32) primary key references tj.valves(id)
|
||||
, status tj.status_valve_status not null
|
||||
);
|
||||
|
||||
create table tj.status_link
|
||||
(
|
||||
id varchar(32) primary key references tj.link(id)
|
||||
, setting numeric not null
|
||||
);
|
||||
@@ -1,7 +0,0 @@
|
||||
-- [patterns]
|
||||
|
||||
create table tj.patterns
|
||||
(
|
||||
id varchar(32) references tj.pattern(id) not null
|
||||
, multipliers numeric not null
|
||||
);
|
||||
@@ -1,8 +0,0 @@
|
||||
-- [curves]
|
||||
|
||||
create table tj.curves
|
||||
(
|
||||
id varchar(32) references tj.curve(id) not null
|
||||
, x numeric not null
|
||||
, y numeric not null
|
||||
);
|
||||
@@ -1,30 +0,0 @@
|
||||
-- [controls]
|
||||
|
||||
create type tj.controls_1_prep as enum ('above', 'below');
|
||||
|
||||
-- link linkid status if node nodeid above / below value
|
||||
create table tj.controls_1
|
||||
(
|
||||
linkid varchar(32) primary key references tj.link(id)
|
||||
, status text not null -- open / closed, a pump speed setting, or a control valve setting
|
||||
, nodeid varchar(32) references tj.node(id) not null
|
||||
, prep tj.controls_1_prep not null
|
||||
, value numeric not null
|
||||
);
|
||||
|
||||
-- link linkid status at time time
|
||||
create table tj.controls_2
|
||||
(
|
||||
linkid varchar(32) primary key references tj.link(id)
|
||||
, status text not null -- open / closed, a pump speed setting, or a control valve setting
|
||||
, time interval hour
|
||||
);
|
||||
|
||||
-- link linkid status at clocktime clocktime am / pm
|
||||
create table tj.controls_3
|
||||
(
|
||||
linkid varchar(32) primary key references tj.link(id)
|
||||
, status text not null -- open / closed, a pump speed setting, or a control valve setting
|
||||
, clocktimehour interval hour -- get am/pm from it
|
||||
, clocktimemin interval minute
|
||||
);
|
||||
@@ -1,6 +0,0 @@
|
||||
-- [rules]
|
||||
|
||||
create table tj.rules
|
||||
(
|
||||
content text primary key
|
||||
);
|
||||
@@ -1,29 +0,0 @@
|
||||
-- [energy]
|
||||
|
||||
create type tj.energy_param as enum
|
||||
(
|
||||
'price'
|
||||
, 'pattern'
|
||||
, 'effic'
|
||||
);
|
||||
|
||||
-- global price / pattern / effic value
|
||||
create table tj.energy_global
|
||||
(
|
||||
param tj.energy_param not null
|
||||
, value numeric not null
|
||||
);
|
||||
|
||||
-- pump pumpid price / pattern / effic value
|
||||
create table tj.energy_pump
|
||||
(
|
||||
id varchar(32) references tj.pumps(id) not null
|
||||
, param tj.energy_param not null
|
||||
, value numeric not null
|
||||
);
|
||||
|
||||
-- demand charge value
|
||||
create table tj.energy_demand_charge
|
||||
(
|
||||
value numeric not null
|
||||
);
|
||||
@@ -1,7 +0,0 @@
|
||||
-- [emitters]
|
||||
|
||||
create table tj.emitters
|
||||
(
|
||||
junction varchar(32) primary key references tj.junctions(id)
|
||||
, coefficient numeric not null
|
||||
);
|
||||
@@ -1,7 +0,0 @@
|
||||
-- [quality]
|
||||
|
||||
create table tj.quality
|
||||
(
|
||||
node varchar(32) primary key references tj.node(id)
|
||||
, initialqual numeric not null
|
||||
);
|
||||
@@ -1,17 +0,0 @@
|
||||
-- [sources]
|
||||
|
||||
create type tj.sources_type as enum
|
||||
(
|
||||
'concen'
|
||||
, 'mass'
|
||||
, 'flowpaced'
|
||||
, 'setpoint'
|
||||
);
|
||||
|
||||
create table tj.sources
|
||||
(
|
||||
node varchar(32) primary key references tj.node(id)
|
||||
, type tj.sources_type not null
|
||||
, strength numeric not null
|
||||
, timepattern varchar(32) references tj.pattern(id)
|
||||
);
|
||||
@@ -1,55 +0,0 @@
|
||||
-- [reactions]
|
||||
|
||||
create type tj.reactions_order_param as enum
|
||||
(
|
||||
'bulk'
|
||||
, 'wall'
|
||||
, 'tank'
|
||||
);
|
||||
|
||||
create table tj.reactions_order
|
||||
(
|
||||
key tj.reactions_order_param not null
|
||||
, value numeric not null
|
||||
);
|
||||
|
||||
create type tj.reactions_global_param as enum
|
||||
(
|
||||
'bulk'
|
||||
, 'wall'
|
||||
);
|
||||
|
||||
create table tj.reactions_global
|
||||
(
|
||||
key tj.reactions_global_param not null
|
||||
, value numeric not null
|
||||
);
|
||||
|
||||
create type tj.reactions_pipe_param as enum
|
||||
(
|
||||
'bulk'
|
||||
, 'wall'
|
||||
);
|
||||
|
||||
create table tj.reactions_pipe
|
||||
(
|
||||
key tj.reactions_pipe_param not null
|
||||
, pipe varchar(32) references tj.pipes(id) not null
|
||||
, value numeric not null
|
||||
);
|
||||
|
||||
create table tj.reactions_tank
|
||||
(
|
||||
tank varchar(32) references tj.tanks(id) not null
|
||||
, value numeric not null
|
||||
);
|
||||
|
||||
create table tj.reactions_limiting_potential
|
||||
(
|
||||
value numeric not null
|
||||
);
|
||||
|
||||
create table tj.reactions_roughness_correlation
|
||||
(
|
||||
value numeric not null
|
||||
);
|
||||
@@ -1,9 +0,0 @@
|
||||
-- [junctions]
|
||||
|
||||
create table tj.junctions
|
||||
(
|
||||
id varchar(32) primary key references tj.node(id)
|
||||
, elevation numeric not null
|
||||
, demand numeric
|
||||
, pattern varchar(32) references tj.pattern(id)
|
||||
);
|
||||
@@ -1,16 +0,0 @@
|
||||
-- [mixing]
|
||||
|
||||
create type tj.mixing_model as enum
|
||||
(
|
||||
'mixed'
|
||||
, '2comp'
|
||||
, 'fifo'
|
||||
, 'lifo'
|
||||
);
|
||||
|
||||
create table tj.mixing
|
||||
(
|
||||
tank varchar(32) primary key references tj.tanks(id)
|
||||
, model tj.mixing_model not null
|
||||
, value numeric
|
||||
);
|
||||
@@ -1,9 +0,0 @@
|
||||
-- [times]
|
||||
|
||||
-- todo: constraint
|
||||
|
||||
create table tj.times
|
||||
(
|
||||
key text not null
|
||||
, value text not null
|
||||
);
|
||||
@@ -1,9 +0,0 @@
|
||||
-- [report]
|
||||
|
||||
-- todo: constraint
|
||||
|
||||
create table tj.report
|
||||
(
|
||||
key text not null
|
||||
, value text not null
|
||||
);
|
||||
@@ -1,9 +0,0 @@
|
||||
-- [options]
|
||||
|
||||
-- todo: constraint
|
||||
|
||||
create table tj.options
|
||||
(
|
||||
key text not null
|
||||
, value text not null
|
||||
);
|
||||
@@ -1,10 +0,0 @@
|
||||
-- [coordinates]
|
||||
|
||||
create table tj.coordinates
|
||||
(
|
||||
node varchar(32) primary key references tj.node(id)
|
||||
, coord point not null
|
||||
);
|
||||
|
||||
create index tj_coordinates_spgist on tj.coordinates using spgist(coord);
|
||||
create index tj_coordinates_gist on tj.coordinates using gist(coord);
|
||||
@@ -1,8 +0,0 @@
|
||||
-- [vertices]
|
||||
|
||||
create table tj.vertices
|
||||
(
|
||||
link varchar(32) references tj.link(id) not null
|
||||
, x numeric not null
|
||||
, y numeric not null
|
||||
);
|
||||
@@ -1,9 +0,0 @@
|
||||
-- [labels]
|
||||
|
||||
create table tj.labels
|
||||
(
|
||||
x numeric not null
|
||||
, y numeric not null
|
||||
, label text not null
|
||||
, anchornode varchar(32) references tj.node(id)
|
||||
);
|
||||
@@ -1,6 +0,0 @@
|
||||
-- [backdrop]
|
||||
|
||||
create table tj.backdrop
|
||||
(
|
||||
content text primary key
|
||||
);
|
||||
@@ -1 +0,0 @@
|
||||
-- [END]
|
||||
@@ -1,8 +0,0 @@
|
||||
-- [reservoirs]
|
||||
|
||||
create table tj.reservoirs
|
||||
(
|
||||
id varchar(32) primary key references tj.node(id)
|
||||
, head numeric not null
|
||||
, pattern varchar(32) references tj.pattern(id)
|
||||
);
|
||||
@@ -1,20 +0,0 @@
|
||||
-- [tanks]
|
||||
|
||||
create type tj.tanks_overflow as enum
|
||||
(
|
||||
'yes'
|
||||
, 'no'
|
||||
);
|
||||
|
||||
create table tj.tanks
|
||||
(
|
||||
id varchar(32) primary key references tj.node(id)
|
||||
, elevation numeric not null
|
||||
, initlevel numeric not null
|
||||
, minlevel numeric not null
|
||||
, maxlevel numeric not null
|
||||
, diameter numeric not null
|
||||
, minvol numeric not null
|
||||
, volcurve varchar(32) references tj.curve(id)
|
||||
, overflow tj.tanks_overflow
|
||||
);
|
||||
@@ -1,20 +0,0 @@
|
||||
-- [pipes]
|
||||
|
||||
create type tj.pipes_status as enum
|
||||
(
|
||||
'open'
|
||||
, 'closed'
|
||||
, 'cv'
|
||||
);
|
||||
|
||||
create table tj.pipes
|
||||
(
|
||||
id varchar(32) primary key references tj.link(id)
|
||||
, node1 varchar(32) references tj.node(id) not null
|
||||
, node2 varchar(32) references tj.node(id) not null
|
||||
, length numeric not null
|
||||
, diameter numeric not null
|
||||
, roughness numeric not null
|
||||
, minorloss numeric not null
|
||||
, status tj.pipes_status not null
|
||||
);
|
||||
@@ -1,32 +0,0 @@
|
||||
-- [pumps]
|
||||
|
||||
create table tj.pumps
|
||||
(
|
||||
id varchar(32) primary key references tj.link(id)
|
||||
, node1 varchar(32) references tj.node(id) not null
|
||||
, node2 varchar(32) references tj.node(id) not null
|
||||
);
|
||||
|
||||
create table tj.pumps_property_power
|
||||
(
|
||||
id varchar primary key references tj.pumps(id)
|
||||
, value varchar(32) not null
|
||||
);
|
||||
|
||||
create table tj.pumps_property_speed
|
||||
(
|
||||
id varchar primary key references tj.pumps(id)
|
||||
, value varchar(32) not null
|
||||
);
|
||||
|
||||
create table tj.pumps_property_head
|
||||
(
|
||||
id varchar primary key references tj.pumps(id)
|
||||
, head varchar(32) references tj.curve(id) not null
|
||||
);
|
||||
|
||||
create table tj.pumps_property_pattern
|
||||
(
|
||||
id varchar primary key references tj.pumps(id)
|
||||
, pattern varchar(32) references tj.pattern(id) not null
|
||||
);
|
||||
@@ -1,22 +0,0 @@
|
||||
-- [valves]
|
||||
|
||||
create type tj.valves_type as enum
|
||||
(
|
||||
'prv'
|
||||
, 'psv'
|
||||
, 'pbv'
|
||||
, 'fcv'
|
||||
, 'tcv'
|
||||
, 'gpv'
|
||||
);
|
||||
|
||||
create table tj.valves
|
||||
(
|
||||
id varchar(32) primary key references tj.link(id)
|
||||
, node1 varchar(32) references tj.node(id) not null
|
||||
, node2 varchar(32) references tj.node(id) not null
|
||||
, diameter numeric not null
|
||||
, type tj.valves_type not null
|
||||
, setting numeric not null
|
||||
, minorloss numeric not null
|
||||
);
|
||||
@@ -1,13 +0,0 @@
|
||||
-- [tags]
|
||||
|
||||
create table tj.tags_node
|
||||
(
|
||||
id varchar(32) primary key references tj.node(id)
|
||||
, tag text not null
|
||||
);
|
||||
|
||||
create table tj.tags_link
|
||||
(
|
||||
id varchar(32) primary key references tj.link(id)
|
||||
, tag text not null
|
||||
);
|
||||
@@ -1,9 +0,0 @@
|
||||
-- [demands]
|
||||
|
||||
create table tj.demands
|
||||
(
|
||||
junction varchar(32) references tj.junctions(id) not null
|
||||
, demand numeric not null
|
||||
, pattern varchar(32) references tj.pattern(id)
|
||||
, category text not null
|
||||
);
|
||||
@@ -1 +0,0 @@
|
||||
create schema tj;
|
||||
@@ -1,29 +0,0 @@
|
||||
create table tj.operation
|
||||
(
|
||||
id serial primary key
|
||||
, redo text not null
|
||||
, undo text not null
|
||||
, parent integer references tj.operation(id)
|
||||
, redo_child integer references tj.operation(id)
|
||||
);
|
||||
|
||||
insert into tj.operation (id, redo, undo) values (0, '', '');
|
||||
|
||||
create table tj.current_operation
|
||||
(
|
||||
id integer primary key references tj.operation(id)
|
||||
);
|
||||
|
||||
insert into tj.current_operation (id) values (0);
|
||||
|
||||
create table tj.snapshot_operation
|
||||
(
|
||||
id integer primary key references tj.operation(id)
|
||||
, tag text not null unique
|
||||
);
|
||||
|
||||
create table tj.transaction_operation
|
||||
(
|
||||
id integer primary key references tj.operation(id)
|
||||
, strict boolean not null default false
|
||||
);
|
||||
@@ -1,11 +0,0 @@
|
||||
drop table if exists tj.pattern;
|
||||
|
||||
drop table if exists tj.curve;
|
||||
|
||||
drop table if exists tj.link;
|
||||
|
||||
drop table if exists tj.node;
|
||||
|
||||
drop type if exists tj.link_type;
|
||||
|
||||
drop type if exists tj.node_type;
|
||||
@@ -1,3 +0,0 @@
|
||||
-- [title]
|
||||
|
||||
drop table if exists tj.title;
|
||||
@@ -1,13 +0,0 @@
|
||||
-- [status]
|
||||
|
||||
drop table if exists tj.status_link;
|
||||
|
||||
drop table if exists tj.status_valve;
|
||||
|
||||
drop type if exists tj.status_valve_status;
|
||||
|
||||
drop table if exists tj.status_pump;
|
||||
|
||||
drop table if exists tj.status_pipe;
|
||||
|
||||
drop type if exists tj.status_pipe_pump_status;
|
||||
@@ -1,3 +0,0 @@
|
||||
-- [patterns]
|
||||
|
||||
drop table if exists tj.patterns;
|
||||
@@ -1,3 +0,0 @@
|
||||
-- [curves]
|
||||
|
||||
drop table if exists tj.curves;
|
||||
@@ -1,9 +0,0 @@
|
||||
-- [controls]
|
||||
|
||||
drop table if exists tj.controls_3;
|
||||
|
||||
drop table if exists tj.controls_2;
|
||||
|
||||
drop table if exists tj.controls_1;
|
||||
|
||||
drop type if exists tj.controls_1_prep;
|
||||
@@ -1,3 +0,0 @@
|
||||
-- [rules]
|
||||
|
||||
drop table if exists tj.rules;
|
||||
@@ -1,9 +0,0 @@
|
||||
-- [energy]
|
||||
|
||||
drop table if exists tj.energy_demand_charge;
|
||||
|
||||
drop table if exists tj.energy_pump;
|
||||
|
||||
drop table if exists tj.energy_global;
|
||||
|
||||
drop type if exists tj.energy_param;
|
||||
@@ -1,3 +0,0 @@
|
||||
-- [emitters]
|
||||
|
||||
drop table if exists tj.emitters;
|
||||
@@ -1,3 +0,0 @@
|
||||
-- [quality]
|
||||
|
||||
drop table if exists tj.quality;
|
||||
@@ -1,5 +0,0 @@
|
||||
-- [sources]
|
||||
|
||||
drop table if exists tj.sources;
|
||||
|
||||
drop type if exists tj.sources_type;
|
||||
@@ -1,19 +0,0 @@
|
||||
-- [reactions]
|
||||
|
||||
drop table if exists tj.reactions_roughness_correlation;
|
||||
|
||||
drop table if exists tj.reactions_limiting_potential;
|
||||
|
||||
drop table if exists tj.reactions_tank;
|
||||
|
||||
drop table if exists tj.reactions_pipe;
|
||||
|
||||
drop type if exists tj.reactions_pipe_param;
|
||||
|
||||
drop table if exists tj.reactions_global;
|
||||
|
||||
drop type if exists tj.reactions_global_param;
|
||||
|
||||
drop table if exists tj.reactions_order;
|
||||
|
||||
drop type if exists tj.reactions_order_param;
|
||||
@@ -1,3 +0,0 @@
|
||||
-- [junctions]
|
||||
|
||||
drop table if exists tj.junctions;
|
||||
@@ -1,5 +0,0 @@
|
||||
-- [mixing]
|
||||
|
||||
drop table if exists tj.mixing;
|
||||
|
||||
drop type if exists tj.mixing_model;
|
||||
@@ -1,3 +0,0 @@
|
||||
-- [times]
|
||||
|
||||
drop table if exists tj.times;
|
||||
@@ -1,3 +0,0 @@
|
||||
-- [report]
|
||||
|
||||
drop table if exists tj.report;
|
||||
@@ -1,3 +0,0 @@
|
||||
-- [options]
|
||||
|
||||
drop table if exists tj.options;
|
||||
@@ -1,7 +0,0 @@
|
||||
-- [coordinates]
|
||||
|
||||
drop index if exists tj_coordinates_gist;
|
||||
|
||||
drop index if exists tj_coordinates_spgist;
|
||||
|
||||
drop table if exists tj.coordinates;
|
||||
@@ -1,3 +0,0 @@
|
||||
-- [vertices]
|
||||
|
||||
drop table if exists tj.vertices;
|
||||
@@ -1,3 +0,0 @@
|
||||
-- [labels]
|
||||
|
||||
drop table if exists tj.labels;
|
||||
@@ -1,3 +0,0 @@
|
||||
-- [backdrop]
|
||||
|
||||
drop table if exists tj.backdrop;
|
||||
@@ -1 +0,0 @@
|
||||
-- [END]
|
||||
@@ -1,3 +0,0 @@
|
||||
-- [reservoirs]
|
||||
|
||||
drop table if exists tj.reservoirs;
|
||||
@@ -1,5 +0,0 @@
|
||||
-- [tanks]
|
||||
|
||||
drop table if exists tj.tanks;
|
||||
|
||||
drop type if exists tj.tanks_overflow;
|
||||
@@ -1,5 +0,0 @@
|
||||
-- [pipes]
|
||||
|
||||
drop table if exists tj.pipes;
|
||||
|
||||
drop type if exists tj.pipes_status;
|
||||
@@ -1,11 +0,0 @@
|
||||
-- [pumps]
|
||||
|
||||
drop table if exists tj.pumps_property_pattern;
|
||||
|
||||
drop table if exists tj.pumps_property_head;
|
||||
|
||||
drop table if exists tj.pumps_property_speed;
|
||||
|
||||
drop table if exists tj.pumps_property_power;
|
||||
|
||||
drop table if exists tj.pumps;
|
||||
@@ -1,5 +0,0 @@
|
||||
-- [valves]
|
||||
|
||||
drop table if exists tj.valves;
|
||||
|
||||
drop type if exists tj.valves_type;
|
||||
@@ -1,5 +0,0 @@
|
||||
-- [tags]
|
||||
|
||||
drop table if exists tj.tags_link;
|
||||
|
||||
drop table if exists tj.tags_node;
|
||||
@@ -1,3 +0,0 @@
|
||||
-- [demands]
|
||||
|
||||
drop table if exists tj.demands;
|
||||
@@ -1 +0,0 @@
|
||||
drop schema if exists tj;
|
||||
@@ -1,7 +0,0 @@
|
||||
drop table if exists tj.transaction_operation;
|
||||
|
||||
drop table if exists tj.snapshot_operation;
|
||||
|
||||
drop table if exists tj.current_operation;
|
||||
|
||||
drop table if exists tj.operation;
|
||||
@@ -1,108 +0,0 @@
|
||||
import psycopg as pg
|
||||
|
||||
sql_create = [
|
||||
"table/create/namespace.sql",
|
||||
"table/create/0.base.sql",
|
||||
"table/create/1.title.sql",
|
||||
"table/create/2.junctions.sql",
|
||||
"table/create/3.reservoirs.sql",
|
||||
"table/create/4.tanks.sql",
|
||||
"table/create/5.pipes.sql",
|
||||
"table/create/6.pumps.sql",
|
||||
"table/create/7.valves.sql",
|
||||
"table/create/8.tags.sql",
|
||||
"table/create/9.demands.sql",
|
||||
"table/create/10.status.sql",
|
||||
"table/create/11.patterns.sql",
|
||||
"table/create/12.curves.sql",
|
||||
"table/create/13.controls.sql",
|
||||
"table/create/14.rules.sql",
|
||||
"table/create/15.energy.sql",
|
||||
"table/create/16.emitters.sql",
|
||||
"table/create/17.quality.sql",
|
||||
"table/create/18.sources.sql",
|
||||
"table/create/19.reactions.sql",
|
||||
"table/create/20.mixing.sql",
|
||||
"table/create/21.times.sql",
|
||||
"table/create/22.report.sql",
|
||||
"table/create/23.options.sql",
|
||||
"table/create/24.coordinates.sql",
|
||||
"table/create/25.vertices.sql",
|
||||
"table/create/26.labels.sql",
|
||||
"table/create/27.backdrop.sql",
|
||||
"table/create/28.end.sql",
|
||||
"table/create/operation.sql",
|
||||
"api/create/operation.sql",
|
||||
"api/create/1.title.sql"
|
||||
]
|
||||
|
||||
sql_drop = [
|
||||
"api/drop/1.title.sql",
|
||||
"api/drop/operation.sql",
|
||||
"table/drop/operation.sql",
|
||||
"table/drop/28.end.sql",
|
||||
"table/drop/27.backdrop.sql",
|
||||
"table/drop/26.labels.sql",
|
||||
"table/drop/25.vertices.sql",
|
||||
"table/drop/24.coordinates.sql",
|
||||
"table/drop/23.options.sql",
|
||||
"table/drop/22.report.sql",
|
||||
"table/drop/21.times.sql",
|
||||
"table/drop/20.mixing.sql",
|
||||
"table/drop/19.reactions.sql",
|
||||
"table/drop/18.sources.sql",
|
||||
"table/drop/17.quality.sql",
|
||||
"table/drop/16.emitters.sql",
|
||||
"table/drop/15.energy.sql",
|
||||
"table/drop/14.rules.sql",
|
||||
"table/drop/13.controls.sql",
|
||||
"table/drop/12.curves.sql",
|
||||
"table/drop/11.patterns.sql",
|
||||
"table/drop/10.status.sql",
|
||||
"table/drop/9.demands.sql",
|
||||
"table/drop/8.tags.sql",
|
||||
"table/drop/7.valves.sql",
|
||||
"table/drop/6.pumps.sql",
|
||||
"table/drop/5.pipes.sql",
|
||||
"table/drop/4.tanks.sql",
|
||||
"table/drop/3.reservoirs.sql",
|
||||
"table/drop/2.junctions.sql",
|
||||
"table/drop/1.title.sql",
|
||||
"table/drop/0.base.sql",
|
||||
"table/drop/namespace.sql"
|
||||
]
|
||||
|
||||
def create_template():
|
||||
with pg.connect(conninfo="dbname=postgres", autocommit=True) as conn:
|
||||
with conn.cursor() as cur:
|
||||
cur.execute("create database tj_project")
|
||||
with pg.connect(conninfo="dbname=tj_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 have_template():
|
||||
with pg.connect(conninfo="dbname=postgres", autocommit=True) as conn:
|
||||
with conn.cursor() as cur:
|
||||
cur.execute("select * from pg_database where datname = 'tj_project'")
|
||||
return cur.rowcount > 0
|
||||
|
||||
def delete_template():
|
||||
with pg.connect(conninfo="dbname=tj_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("drop database tj_project")
|
||||
|
||||
if __name__ == "__main__":
|
||||
if (have_template()):
|
||||
delete_template()
|
||||
create_template()
|
||||
Reference in New Issue
Block a user