Skip to content

Commit

Permalink
Merge pull request #342 from cymed/alter-pkey-on-default-values
Browse files Browse the repository at this point in the history
introduce serial pk on default values
  • Loading branch information
ponceta authored Aug 8, 2024
2 parents 7c1b1a6 + fa1646b commit d3c0aca
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 7 deletions.
2 changes: 1 addition & 1 deletion datamodel/app/view/set_default_value_for_views.sql
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ BEGIN
LEFT JOIN information_schema.tables t
ON c.table_name = t.table_name
AND c.table_schema = t.table_schema
WHERE c.column_name IN ('fk_provider','fk_dataowner')
WHERE c.column_name IN (SELECT fieldname FROM tww_od.default_values)
AND c.table_schema ='tww_app'
AND t.table_type = 'VIEW'
LOOP
Expand Down
11 changes: 7 additions & 4 deletions datamodel/changelogs/0001/14_default_values.sql
Original file line number Diff line number Diff line change
@@ -1,10 +1,13 @@
CREATE TABLE tww_od.default_values
(
fieldname text NOT NULL,
id serial,
fieldname text,
value_obj_id varchar(16),
CONSTRAINT pkey_tww_sys_default_values_fieldname PRIMARY KEY (fieldname)
CONSTRAINT pkey_tww_sys_default_values_id PRIMARY KEY (id)
);

CREATE UNIQUE INDEX in_od_default_values_fieldname ON tww_od.default_values USING btree (fieldname ASC NULLS LAST);

-- function for retrieving default obj_id
CREATE OR REPLACE FUNCTION tww_sys.get_default_values(field_name text)
RETURNS varchar(16) AS
Expand All @@ -25,7 +28,7 @@ $BODY$
LANGUAGE plpgsql STABLE SECURITY DEFINER
COST 100;

-- Set defaults on all fk_provider,fk_dataowner
-- Set defaults on all fk_provider,fk_dataowner,fk_owner
DO $do$
DECLARE
tbl text;
Expand All @@ -39,7 +42,7 @@ BEGIN
LEFT JOIN information_schema.tables t
ON c.table_name = t.table_name
and c.table_schema = t.table_schema
WHERE c.column_name IN ('fk_provider','fk_dataowner')
WHERE c.column_name IN ('fk_provider','fk_dataowner','fk_owner')
and c.table_schema ='tww_od'
and t.table_type = 'BASE TABLE'
LOOP
Expand Down
4 changes: 2 additions & 2 deletions plugin/teksi_wastewater/utils/database_utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -199,8 +199,8 @@ def check_fk_defaults() -> List[str]:
for item in DatabaseUtils.fetchall(
"SELECT fieldname,value_obj_id from tww_od.default_values;"
):
defaults.append(item["fieldname"])
vals.append(item["value_obj_id"])
defaults.append(item[0])
vals.append(item[1])

msg_list = []
if None in vals:
Expand Down

0 comments on commit d3c0aca

Please sign in to comment.