From 633a1fdd688af2d8df20e65e903e81bf47f588d1 Mon Sep 17 00:00:00 2001 From: Denis Rouzaud Date: Wed, 22 Nov 2023 12:18:41 +0100 Subject: [PATCH] [FEATURE] add anchor point (left/center/right) + sign hanging mode (recto/verso) (#118) * [FEATURE] add anchor point (left/center/right) + sign hanging mode (recto/verso) * update sign + fix ordering * signal 5.01 without units * add second photo to attribute form support change support point colour for better visibility apply filter to master signal selection * expression for official signals list corrected with locale locale in expression for icon preview cadre * add arm image + fix pip usage * add more demo * fix sign side * create virtual signs for verso with azimut+180 * rename ordering_by_anchor_point to group_by_anchor_point * fix demo * further fixes to view * azimuts list * positive azimut * fix * json with path * temp * sort * current state with function * drop block function * add manual offsets for azimuts * second photo for support * add options to define PG port in run-docker.sh * fix tests * fix image test * add missing delta * migration file user_signs image added * changelog file user_signs_img * add pre-commit ci * complete aliases in form * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --------- Co-authored-by: Isabel Kiefer Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> --- .docker/Dockerfile | 14 +- .env.example | 4 + .gitignore | 19 +- .pre-commit-config.yaml | 5 + data_model/app/create_app.py | 2 +- data_model/app/drop_schema.sql | 1 + data_model/app/drop_views.sql | 2 - data_model/app/vw_sign_symbol.py | 326 +- .../changelogs/0007/0007_anchor-point.sql | 67 + .../changelogs/0007/0007_support_photo2.sql | 2 + .../changelogs/0007/0007_user_signs_img.sql | 17 + data_model/demo_data/azimut_content.sql | 32 +- data_model/demo_data/frame_content.sql | 58 +- data_model/demo_data/sign_content.sql | 76 +- data_model/demo_data/support_content.sql | 20 +- data_model/setup.sh | 4 + project/images/official/editable/501.svg | 42 +- project/signalo.qgs | 16748 ++++++++-------- scripts/run-docker.sh | 46 +- test/official_sign_images.sh | 35 +- test/test_reordering.py | 29 +- test/test_view_sign_symbol.py | 295 - test/utils.py | 14 +- website/documentation/data-model.fr.md | 2 +- 24 files changed, 8363 insertions(+), 9497 deletions(-) create mode 100644 .env.example create mode 100644 data_model/app/drop_schema.sql delete mode 100644 data_model/app/drop_views.sql create mode 100644 data_model/changelogs/0007/0007_anchor-point.sql create mode 100644 data_model/changelogs/0007/0007_support_photo2.sql create mode 100644 data_model/changelogs/0007/0007_user_signs_img.sql delete mode 100644 test/test_view_sign_symbol.py diff --git a/.docker/Dockerfile b/.docker/Dockerfile index c5426a2f..59e3d040 100644 --- a/.docker/Dockerfile +++ b/.docker/Dockerfile @@ -1,12 +1,20 @@ -ARG POSTGIS_VERSION=12-3.1 -FROM postgis/postgis:${POSTGIS_VERSION} + +FROM imresamu/postgis-arm64:15-3.4 AS base-arm64 + +FROM postgis/postgis:15-3.4 AS base-amd64 + +FROM base-$BUILDARCH as common ARG AUTO_INIT=True # System deps (bc + exiftool for testing) -RUN apt-get update && apt-get install -y python3 python3-pip libpq-dev wget exiftool bc && apt-get clean +RUN apt-get update && apt-get install -y python3 python3-pip python3-venv libpq-dev wget bc exiftool && apt-get clean # Python deps +# Python deps +ENV VIRTUAL_ENV=/opt/venv +RUN python3 -m venv $VIRTUAL_ENV +ENV PATH="$VIRTUAL_ENV/bin:$PATH" RUN pip3 install pytest psycopg2 pirogue # Add source diff --git a/.env.example b/.env.example new file mode 100644 index 00000000..0701b475 --- /dev/null +++ b/.env.example @@ -0,0 +1,4 @@ +# Copy this file to .env +# ---------------------- +# Define POSTGRES PORT for Docker when calling datamodel/scripts/run-docker.sh +SIGNALO_PG_PORT=5432 diff --git a/.gitignore b/.gitignore index 9d6e0129..963ff645 100644 --- a/.gitignore +++ b/.gitignore @@ -1,9 +1,18 @@ +.env +project/images/_* +project/this-is-the-way.jpg +project/signalo.ts +project/signalo_attachments.zip +website/tx +website/local.html + .idea .DS_Store *.orig .schemalintrc.js __pycache__ *.qgs~ +~view.sql local_test.sh *.backup .ghtoken @@ -11,13 +20,3 @@ official-signs.json postgresql.jar schemaspy*.jar schemaspy/ -website/local.html -project/this-is-the-way.jpg -project/signalo.ts -projet/signalo_attachments.zip -website/tx -Pipfile -Pipfile.lock -.env -Pipfile -project/images/_* diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 6d479675..8307ca3c 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -34,3 +34,8 @@ repos: hooks: - id: isort args: ["--profile", "black", "--filter-files"] + + +ci: + autofix_prs: true + autoupdate_schedule: quarterly diff --git a/data_model/app/create_app.py b/data_model/app/create_app.py index ad7e8eab..8d15926c 100755 --- a/data_model/app/create_app.py +++ b/data_model/app/create_app.py @@ -29,7 +29,7 @@ def create_views(srid: int, pg_service: str): variables = {"SRID": srid} - run_sql("data_model/app/drop_views.sql", pg_service, variables) + run_sql("data_model/app/drop_schema.sql", pg_service, variables) run_sql("data_model/app/create_schema.sql", pg_service, variables) diff --git a/data_model/app/drop_schema.sql b/data_model/app/drop_schema.sql new file mode 100644 index 00000000..6693fef4 --- /dev/null +++ b/data_model/app/drop_schema.sql @@ -0,0 +1 @@ +DROP SCHEMA IF EXISTS signalo_app CASCADE; diff --git a/data_model/app/drop_views.sql b/data_model/app/drop_views.sql deleted file mode 100644 index 521f9847..00000000 --- a/data_model/app/drop_views.sql +++ /dev/null @@ -1,2 +0,0 @@ -DROP VIEW IF EXISTS signalo_app.vw_sign_symbol; -DROP VIEW IF EXISTS signalo_app.vw_edited_support; diff --git a/data_model/app/vw_sign_symbol.py b/data_model/app/vw_sign_symbol.py index 07b06f51..7f85cb49 100644 --- a/data_model/app/vw_sign_symbol.py +++ b/data_model/app/vw_sign_symbol.py @@ -31,10 +31,15 @@ def vw_sign_symbol(srid: int, pg_service: str = None): SELECT {sign_columns} , azimut.azimut + , azimut.offset_x + , azimut.offset_y , {frame_columns} , sign.rank AS sign_rank , support.id AS support_id + , support.group_by_anchor_point + , support.fk_support_type , support.geometry::geometry(Point,%(SRID)s) AS support_geometry + , COALESCE(vl_official_sign.directional_sign, FALSE) AS directional_sign , CASE WHEN sign.fk_sign_type = 15 THEN vl_user_sign.value_de ELSE vl_official_sign.value_de @@ -46,7 +51,7 @@ def vw_sign_symbol(srid: int, pg_service: str = None): , CASE WHEN sign.fk_sign_type = 15 THEN vl_user_sign.value_it ELSE vl_official_sign.value_it - END AS _symbol_value_it + END AS _symbol_value_it , CASE WHEN sign.fk_sign_type = 15 THEN vl_user_sign.value_ro ELSE vl_official_sign.value_ro @@ -78,7 +83,7 @@ def vw_sign_symbol(srid: int, pg_service: str = None): WHEN sign.fk_sign_type = 13 AND sign.mirror_red_frame IS TRUE THEN 'mirror.svg'::text WHEN sign.fk_sign_type = 13 AND sign.mirror_red_frame IS FALSE THEN 'mirror-noframe.svg'::text WHEN sign.fk_sign_type = 14 THEN 'street-plate.svg'::text - WHEN sign.fk_sign_type = 15 THEN vl_user_sign.img_it + WHEN sign.fk_sign_type = 15 THEN vl_user_sign.img_it ELSE NULL::text END AS _img_it , CASE @@ -88,9 +93,49 @@ def vw_sign_symbol(srid: int, pg_service: str = None): WHEN sign.fk_sign_type = 13 AND sign.mirror_red_frame IS TRUE THEN 'mirror.svg'::text WHEN sign.fk_sign_type = 13 AND sign.mirror_red_frame IS FALSE THEN 'mirror-noframe.svg'::text WHEN sign.fk_sign_type = 14 THEN 'street-plate.svg'::text - WHEN sign.fk_sign_type = 15 THEN vl_user_sign.img_ro + WHEN sign.fk_sign_type = 15 THEN vl_user_sign.img_ro ELSE NULL::text END AS _img_ro + , CASE + WHEN sign.complex IS TRUE THEN 'complex.svg'::text + WHEN sign.fk_sign_type = 11 THEN vl_official_sign.img_de_right + WHEN sign.fk_sign_type = 12 THEN 'marker.svg'::text + WHEN sign.fk_sign_type = 13 AND sign.mirror_red_frame IS TRUE THEN 'mirror.svg'::text + WHEN sign.fk_sign_type = 13 AND sign.mirror_red_frame IS FALSE THEN 'mirror-noframe.svg'::text + WHEN sign.fk_sign_type = 14 THEN 'street-plate.svg'::text + WHEN sign.fk_sign_type = 15 THEN vl_user_sign.img_de + ELSE NULL::text + END AS _img_de_right + , CASE + WHEN sign.complex IS TRUE THEN 'complex.svg'::text + WHEN sign.fk_sign_type = 11 THEN vl_official_sign.img_fr_right + WHEN sign.fk_sign_type = 12 THEN 'marker.svg'::text + WHEN sign.fk_sign_type = 13 AND sign.mirror_red_frame IS TRUE THEN 'mirror.svg'::text + WHEN sign.fk_sign_type = 13 AND sign.mirror_red_frame IS FALSE THEN 'mirror-noframe.svg'::text + WHEN sign.fk_sign_type = 14 THEN 'street-plate.svg'::text + WHEN sign.fk_sign_type = 15 THEN vl_user_sign.img_fr + ELSE NULL::text + END AS _img_fr_right + , CASE + WHEN sign.complex IS TRUE THEN 'complex.svg'::text + WHEN sign.fk_sign_type = 11 THEN vl_official_sign.img_it_right + WHEN sign.fk_sign_type = 12 THEN 'marker.svg'::text + WHEN sign.fk_sign_type = 13 AND sign.mirror_red_frame IS TRUE THEN 'mirror.svg'::text + WHEN sign.fk_sign_type = 13 AND sign.mirror_red_frame IS FALSE THEN 'mirror-noframe.svg'::text + WHEN sign.fk_sign_type = 14 THEN 'street-plate.svg'::text + WHEN sign.fk_sign_type = 15 THEN vl_user_sign.img_it + ELSE NULL::text + END AS _img_it_right + , CASE + WHEN sign.complex IS TRUE THEN 'complex.svg'::text + WHEN sign.fk_sign_type = 11 THEN vl_official_sign.img_ro_right + WHEN sign.fk_sign_type = 12 THEN 'marker.svg'::text + WHEN sign.fk_sign_type = 13 AND sign.mirror_red_frame IS TRUE THEN 'mirror.svg'::text + WHEN sign.fk_sign_type = 13 AND sign.mirror_red_frame IS FALSE THEN 'mirror-noframe.svg'::text + WHEN sign.fk_sign_type = 14 THEN 'street-plate.svg'::text + WHEN sign.fk_sign_type = 15 THEN vl_user_sign.img_ro + ELSE NULL::text + END AS _img_ro_right , CASE WHEN sign.complex IS TRUE THEN 106 WHEN sign.fk_sign_type = 11 THEN vl_official_sign.img_height @@ -106,48 +151,148 @@ def vw_sign_symbol(srid: int, pg_service: str = None): WHEN sign.fk_sign_type = 12 THEN 70 WHEN sign.fk_sign_type = 13 THEN 100 WHEN sign.fk_sign_type = 14 THEN 100 - WHEN sign.fk_sign_type = 15 THEN vl_user_sign.img_width + WHEN sign.fk_sign_type = 15 THEN vl_user_sign.img_width ELSE NULL::integer END AS _symbol_width - FROM signalo_db.sign - LEFT JOIN signalo_db.frame ON frame.id = sign.fk_frame - LEFT JOIN signalo_db.azimut ON azimut.id = frame.fk_azimut - LEFT JOIN signalo_db.support ON support.id = azimut.fk_support - LEFT JOIN signalo_db.vl_official_sign ON vl_official_sign.id = sign.fk_official_sign - LEFT JOIN signalo_db.vl_user_sign ON vl_user_sign.id = sign.fk_user_sign + FROM signalo_db.sign + LEFT JOIN signalo_db.frame ON frame.id = sign.fk_frame + LEFT JOIN signalo_db.azimut ON azimut.id = frame.fk_azimut + LEFT JOIN signalo_db.support ON support.id = azimut.fk_support + LEFT JOIN signalo_db.vl_official_sign ON vl_official_sign.id = sign.fk_official_sign + LEFT JOIN signalo_db.vl_user_sign ON vl_user_sign.id = sign.fk_user_sign ), - ordered_recto_signs AS ( + + + -- recto NOT ordered by anchor point + ordered_recto_signs_not_grouped_by_anchor_point AS ( SELECT joined_tables.* - , ROW_NUMBER () OVER ( PARTITION BY support_id, azimut ORDER BY frame_rank, sign_rank ) AS _final_rank + , azimut AS _azimut_rectified + , offset_x AS _azimut_offset_x_rectified + , offset_y AS _azimut_offset_y_rectified + , frame_anchor_point AS _frame_anchor_point_rectified + , false::bool AS _verso + , ROW_NUMBER () OVER ( PARTITION BY support_id, azimut ORDER BY frame_rank, sign_rank ) AS _rank FROM joined_tables - WHERE verso IS FALSE - ORDER BY support_id, azimut, _final_rank + WHERE hanging_mode != 'VERSO'::signalo_db.sign_hanging AND group_by_anchor_point IS FALSE + ORDER BY support_id, azimut, _rank ), - ordered_shifted_recto_signs AS ( + -- recto ordered by anchor point + ordered_recto_signs_grouped_by_anchor_point AS ( SELECT - ordered_recto_signs.* - , COALESCE(SUM( _symbol_height ) OVER ( PARTITION BY support_id, azimut ROWS BETWEEN UNBOUNDED PRECEDING AND 1 PRECEDING ), 0) AS _symbol_shift - , NULLIF(FIRST_VALUE(id) OVER (PARTITION BY support_id, azimut, frame_rank ROWS BETWEEN 1 PRECEDING AND CURRENT ROW ), id) AS _previous_sign_in_frame - , NULLIF(LAST_VALUE(id) OVER ( PARTITION BY support_id, azimut, frame_rank ROWS BETWEEN CURRENT ROW AND 1 FOLLOWING ), id) AS _next_sign_in_frame - , NULLIF(FIRST_VALUE(frame_id) OVER ( PARTITION BY support_id, azimut ROWS BETWEEN 1 PRECEDING AND CURRENT ROW ), frame_id) AS _previous_frame - , NULLIF(LAST_VALUE(frame_id) OVER ( PARTITION BY support_id, azimut ROWS BETWEEN CURRENT ROW AND 1 FOLLOWING ), frame_id) AS _next_frame + joined_tables.* + , azimut AS _azimut_rectified + , offset_x AS _azimut_offset_x_rectified + , offset_y AS _azimut_offset_y_rectified + , frame_anchor_point AS _frame_anchor_point_rectified + , false::bool AS _verso + , ROW_NUMBER () OVER ( PARTITION BY support_id, azimut, frame_anchor_point ORDER BY frame_rank, sign_rank ) AS _rank + FROM joined_tables + WHERE hanging_mode != 'VERSO'::signalo_db.sign_hanging AND group_by_anchor_point IS TRUE + ORDER BY support_id, azimut, frame_anchor_point, _rank + ), + -- verso NOT ordered by anchor point (RECTO-VERSO are duplicated) + ordered_verso_signs_not_grouped_by_anchor_point AS ( + SELECT + jt.* + , jt.azimut+180 AS _azimut_rectified + , COALESCE(az.offset_x, 0) AS _azimut_offset_x_rectified + , COALESCE(az.offset_y, 0) AS _azimut_offset_y_rectified + , CASE + WHEN frame_anchor_point = 'LEFT'::signalo_db.anchor_point THEN 'RIGHT'::signalo_db.anchor_point + WHEN frame_anchor_point = 'RIGHT'::signalo_db.anchor_point THEN 'LEFT'::signalo_db.anchor_point + ELSE 'CENTER'::signalo_db.anchor_point + END AS _frame_anchor_point_rectified + , true::bool AS _verso + , 1000 + ROW_NUMBER () OVER ( PARTITION BY support_id, jt.azimut ORDER BY frame_rank, sign_rank ) AS _rank + FROM joined_tables jt + LEFT JOIN signalo_db.azimut az ON az.azimut = ((jt.azimut+180) %% 360) AND az.fk_support = support_id + WHERE hanging_mode != 'RECTO'::signalo_db.sign_hanging AND group_by_anchor_point IS FALSE + ORDER BY support_id, jt.azimut, _rank + ), + -- verso ordered by anchor point (RECTO-VERSO are duplicated) + ordered_verso_signs_grouped_by_anchor_point AS ( + SELECT + jt.* + , jt.azimut+180 AS _azimut_rectified + , COALESCE(az.offset_x, 0) AS _azimut_offset_x_rectified + , COALESCE(az.offset_y, 0) AS _azimut_offset_y_rectified + , CASE + WHEN frame_anchor_point = 'LEFT'::signalo_db.anchor_point THEN 'RIGHT'::signalo_db.anchor_point + WHEN frame_anchor_point = 'RIGHT'::signalo_db.anchor_point THEN 'LEFT'::signalo_db.anchor_point + ELSE 'CENTER'::signalo_db.anchor_point + END AS _frame_anchor_point_rectified + , true::bool AS _verso + , 1000 + ROW_NUMBER () OVER ( PARTITION BY support_id, jt.azimut, frame_anchor_point ORDER BY frame_rank, sign_rank ) AS _rank + FROM joined_tables jt + LEFT JOIN signalo_db.azimut az ON az.azimut = ((jt.azimut+180) %% 360) AND az.fk_support = support_id + WHERE hanging_mode != 'RECTO'::signalo_db.sign_hanging AND group_by_anchor_point IS TRUE + ORDER BY support_id, jt.azimut, frame_anchor_point, _rank + ), + + ordered_signs_not_grouped_by_anchor_point AS ( + SELECT * FROM ordered_recto_signs_not_grouped_by_anchor_point + UNION + SELECT * FROM ordered_verso_signs_not_grouped_by_anchor_point + ), + ordered_signs_grouped_by_anchor_point AS ( + SELECT * FROM ordered_recto_signs_grouped_by_anchor_point + UNION + SELECT * FROM ordered_verso_signs_grouped_by_anchor_point + ), + + ordered_shifted_signs_not_grouped_by_anchor_point AS ( + SELECT + ordered_signs_not_grouped_by_anchor_point.* + , ROW_NUMBER () OVER ( PARTITION BY support_id, _azimut_rectified ORDER BY _rank ) AS _final_rank + , COALESCE(SUM( _symbol_height ) OVER ( PARTITION BY support_id, _azimut_rectified ROWS BETWEEN UNBOUNDED PRECEDING AND 1 PRECEDING ), 0) AS _symbol_shift + , COALESCE(SUM( _symbol_height ) OVER ( PARTITION BY support_id, _azimut_rectified), 0) AS _group_height + , MAX(_symbol_width) OVER ( PARTITION BY support_id, _azimut_rectified ) AS _group_width + , NULLIF(FIRST_VALUE(id) OVER (PARTITION BY support_id, _azimut_rectified, frame_rank ROWS BETWEEN 1 PRECEDING AND CURRENT ROW ), id) AS _previous_sign_in_frame + , NULLIF(LAST_VALUE(id) OVER ( PARTITION BY support_id, _azimut_rectified, frame_rank ROWS BETWEEN CURRENT ROW AND 1 FOLLOWING ), id) AS _next_sign_in_frame + , NULLIF(FIRST_VALUE(frame_id) OVER ( PARTITION BY support_id, _azimut_rectified ROWS BETWEEN 1 PRECEDING AND CURRENT ROW ), frame_id) AS _previous_frame + , NULLIF(LAST_VALUE(frame_id) OVER ( PARTITION BY support_id, _azimut_rectified ROWS BETWEEN CURRENT ROW AND 1 FOLLOWING ), frame_id) AS _next_frame FROM - ordered_recto_signs - ORDER BY - support_id, azimut, _final_rank + ordered_signs_not_grouped_by_anchor_point + ), + ordered_shifted_signs_grouped_by_anchor_point AS ( + SELECT + ordered_signs_grouped_by_anchor_point.* + , ROW_NUMBER () OVER ( PARTITION BY support_id, _azimut_rectified, _frame_anchor_point_rectified ORDER BY _rank ) AS _final_rank + , COALESCE(SUM( _symbol_height ) OVER ( PARTITION BY support_id, _azimut_rectified, _frame_anchor_point_rectified ROWS BETWEEN UNBOUNDED PRECEDING AND 1 PRECEDING ), 0) AS _symbol_shift + , COALESCE(SUM( _symbol_height ) OVER ( PARTITION BY support_id, _azimut_rectified, _frame_anchor_point_rectified), 0) AS _group_height + , MAX(_symbol_width) OVER ( PARTITION BY support_id, _azimut_rectified, _frame_anchor_point_rectified ) AS _group_width + , NULLIF(FIRST_VALUE(id) OVER (PARTITION BY support_id, _azimut_rectified, _frame_anchor_point_rectified, frame_rank ROWS BETWEEN 1 PRECEDING AND CURRENT ROW ), id) AS _previous_sign_in_frame + , NULLIF(LAST_VALUE(id) OVER ( PARTITION BY support_id, _azimut_rectified, _frame_anchor_point_rectified, frame_rank ROWS BETWEEN CURRENT ROW AND 1 FOLLOWING ), id) AS _next_sign_in_frame + , NULLIF(FIRST_VALUE(frame_id) OVER ( PARTITION BY support_id, _azimut_rectified, _frame_anchor_point_rectified ROWS BETWEEN 1 PRECEDING AND CURRENT ROW ), frame_id) AS _previous_frame + , NULLIF(LAST_VALUE(frame_id) OVER ( PARTITION BY support_id, _azimut_rectified, _frame_anchor_point_rectified ROWS BETWEEN CURRENT ROW AND 1 FOLLOWING ), frame_id) AS _next_frame + FROM + ordered_signs_grouped_by_anchor_point + ), + + union_view AS ( + SELECT + ossng.* + FROM ordered_shifted_signs_not_grouped_by_anchor_point ossng + UNION + SELECT + ossg.* + FROM ordered_shifted_signs_grouped_by_anchor_point ossg ) - SELECT * FROM ordered_shifted_recto_signs - UNION - SELECT jt.*, osrs._final_rank, osrs._symbol_shift, NULL::uuid AS previous_sign_in_frame, NULL::uuid AS next_sign_in_frame, NULL::uuid AS previous_frame, NULL::uuid AS next_frame - FROM joined_tables jt - -- the sign on verso, has rank+1 - LEFT JOIN ordered_shifted_recto_signs osrs ON osrs.support_id = jt.support_id AND osrs.frame_id = jt.frame_id AND jt.sign_rank-1 = osrs.sign_rank - WHERE jt.verso IS TRUE - ; - ALTER VIEW signalo_app.vw_sign_symbol ALTER verso SET DEFAULT false; - ALTER VIEW signalo_app.vw_sign_symbol ALTER complex SET DEFAULT false; + SELECT + uv.id || '-' || _verso::int AS pk + , uv.* + , _symbol_height + MAX(_symbol_shift) OVER ( PARTITION BY uv.support_id, azimut, _verso ) AS _max_shift_for_azimut + , CASE + WHEN directional_sign IS TRUE AND (_frame_anchor_point_rectified, natural_direction_or_left) IN ( + ('LEFT', TRUE), + ('CENTER', FALSE), + ('RIGHT', FALSE) + ) THEN '_right' + ELSE '' + END AS _img_direction + FROM union_view uv; """.format( sign_columns=select_columns( pg_cur=cursor, @@ -176,112 +321,13 @@ def vw_sign_symbol(srid: int, pg_service: str = None): ), ) - trigger_insert_sql = """ - CREATE OR REPLACE FUNCTION signalo_app.ft_vw_sign_symbol_INSERT() - RETURNS trigger AS - $BODY$ - BEGIN - - IF NEW.frame_id IS NULL THEN - {insert_frame} - END IF; - - {insert_sign} - - RETURN NEW; - END; $BODY$ LANGUAGE plpgsql VOLATILE; - - DROP TRIGGER IF EXISTS vw_sign_symbol_INSERT ON signalo_app.vw_sign_symbol; - - CREATE TRIGGER vw_sign_symbol_INSERT INSTEAD OF INSERT ON signalo_app.vw_sign_symbol - FOR EACH ROW EXECUTE PROCEDURE signalo_app.ft_vw_sign_symbol_INSERT(); - """.format( - insert_frame=insert_command( - pg_cur=cursor, - table_schema="signalo_db", - table_name="frame", - remove_pkey=True, - indent=4, - skip_columns=["_edited"], - returning="id INTO NEW.frame_id", - prefix="frame_", - ), - insert_sign=insert_command( - pg_cur=cursor, - table_schema="signalo_db", - table_name="sign", - remove_pkey=True, - indent=4, - skip_columns=["_edited"], - remap_columns={"fk_frame": "frame_id", "rank": "sign_rank"}, - returning="id INTO NEW.id", - ), - ) - - trigger_update_sql = """ - CREATE OR REPLACE FUNCTION signalo_app.ft_vw_signalo_sign_symbol_UPDATE() - RETURNS trigger AS - $BODY$ - DECLARE - BEGIN - {update_sign} - {update_frame} - RETURN NEW; - END; - $BODY$ - LANGUAGE plpgsql; - - DROP TRIGGER IF EXISTS ft_vw_signalo_sign_symbol_UPDATE ON signalo_app.vw_sign_symbol; - - CREATE TRIGGER vw_sign_symbol_UPDATE INSTEAD OF UPDATE ON signalo_app.vw_sign_symbol - FOR EACH ROW EXECUTE PROCEDURE signalo_app.ft_vw_signalo_sign_symbol_UPDATE(); - """.format( - update_sign=update_command( - pg_cur=cursor, - table_schema="signalo_db", - table_name="sign", - indent=4, - skip_columns=["_edited"], - remap_columns={"fk_frame": "frame_id", "rank": "sign_rank"}, - ), - update_frame=update_command( - pg_cur=cursor, - table_schema="signalo_db", - table_name="frame", - prefix="frame_", - indent=4, - skip_columns=["_edited"], - remap_columns={}, - ), - ) - - trigger_delete_sql = """ - CREATE OR REPLACE FUNCTION signalo_app.ft_vw_sign_symbol_DELETE() - RETURNS trigger AS - $BODY$ - DECLARE - _sign_count integer; - BEGIN - DELETE FROM signalo_db.sign WHERE id = OLD.id; - SELECT count(id) INTO _sign_count FROM signalo_db.sign WHERE fk_frame = OLD.frame_id; - IF _sign_count = 0 THEN - DELETE FROM signalo_db.frame WHERE id = OLD.frame_id; - END IF; - RETURN OLD; - END; $BODY$ LANGUAGE plpgsql VOLATILE; - - DROP TRIGGER IF EXISTS vw_sign_symbol_DELETE ON signalo_app.vw_sign_symbol; - - CREATE TRIGGER vw_sign_symbol_DELETE INSTEAD OF DELETE ON signalo_app.vw_sign_symbol - FOR EACH ROW EXECUTE PROCEDURE signalo_app.ft_vw_sign_symbol_DELETE(); - """ - - for sql in (view_sql, trigger_insert_sql, trigger_update_sql, trigger_delete_sql): - try: - cursor.execute(sql, variables) - except psycopg2.Error as e: - print(f"*** Failing:\n{sql}\n***") - raise e + try: + cursor.execute(view_sql, variables) + except psycopg2.Error as e: + with open("~view.sql", "w") as f: + f.write(view_sql) + print(f"*** Failing:\n{view_sql}\n***") + raise e conn.commit() conn.close() diff --git a/data_model/changelogs/0007/0007_anchor-point.sql b/data_model/changelogs/0007/0007_anchor-point.sql new file mode 100644 index 00000000..38344f87 --- /dev/null +++ b/data_model/changelogs/0007/0007_anchor-point.sql @@ -0,0 +1,67 @@ +CREATE TYPE signalo_db.anchor_point AS ENUM ('LEFT', 'CENTER', 'RIGHT'); +CREATE TYPE signalo_db.sign_hanging AS ENUM ('RECTO', 'RECTO-VERSO', 'VERSO'); + +ALTER TABLE signalo_db.support ADD COLUMN group_by_anchor_point BOOLEAN NOT NULL DEFAULT TRUE; +ALTER TABLE signalo_db.frame ADD COLUMN anchor_point signalo_db.anchor_point NOT NULL DEFAULT 'CENTER'::signalo_db.anchor_point; +ALTER TABLE signalo_db.azimut ADD COLUMN offset_x INTEGER NOT NULL DEFAULT 0; +ALTER TABLE signalo_db.azimut ADD COLUMN offset_y INTEGER NOT NULL DEFAULT 0; + +INSERT INTO signalo_db.vl_support_type (id, value_fr, value_de) VALUES (17, 'borne d''îlot', 'Inselpfosten'); + +ALTER TABLE signalo_db.sign DROP CONSTRAINT sign_fk_frame_rank_verso_key; +ALTER TABLE signalo_db.sign ADD COLUMN natural_direction_or_left BOOL NOT NULL default TRUE; +ALTER TABLE signalo_db.sign ADD COLUMN hanging_mode signalo_db.sign_hanging NOT NULL DEFAULT 'RECTO'::signalo_db.sign_hanging; +UPDATE signalo_db.sign SET hanging_mode = 'VERSO' WHERE verso IS TRUE; +ALTER TABLE signalo_db.sign DROP COLUMN verso; +ALTER TABLE signalo_db.sign ADD CONSTRAINT sign_fk_frame_rank_verso_key UNIQUE (fk_frame, rank, hanging_mode) DEFERRABLE INITIALLY DEFERRED; + +-- add columns for right direction, left is default +ALTER TABLE signalo_db.vl_official_sign ADD COLUMN directional_sign BOOL NOT NULL default FALSE; +ALTER TABLE signalo_db.vl_official_sign ADD COLUMN img_de_right TEXT; +ALTER TABLE signalo_db.vl_official_sign ADD COLUMN img_fr_right TEXT; +ALTER TABLE signalo_db.vl_official_sign ADD COLUMN img_it_right TEXT; +ALTER TABLE signalo_db.vl_official_sign ADD COLUMN img_ro_right TEXT; + +ALTER TABLE signalo_db.vl_official_sign ADD CONSTRAINT directional CHECK ( + directional_sign IS FALSE + OR + (img_de_right IS NOT NULL AND img_fr_right IS NOT NULL AND img_it_right IS NOT NULL AND img_ro_right IS NOT NULL) +); + +-- adjust frame anchor point based on official sign +UPDATE signalo_db.frame f SET anchor_point = 'LEFT'::signalo_db.anchor_point +FROM signalo_db.sign s, signalo_db.vl_official_sign o +WHERE s.fk_frame = f.id AND s.fk_sign_type = 11 AND s.fk_official_sign = o.id AND o.id LIKE '%-r'; + +UPDATE signalo_db.frame f SET anchor_point = 'RIGHT'::signalo_db.anchor_point +FROM signalo_db.sign s, signalo_db.vl_official_sign o +WHERE s.fk_frame = f.id AND s.fk_sign_type = 11 AND s.fk_official_sign = o.id AND o.id LIKE '%-l'; + +UPDATE signalo_db.frame f SET anchor_point = 'CENTER'::signalo_db.anchor_point +FROM signalo_db.sign s, signalo_db.vl_official_sign o +WHERE s.fk_frame = f.id AND s.fk_sign_type = 11 AND s.fk_official_sign = o.id AND o.id NOT LIKE '%-r' AND o.id NOT LIKE '%-l'; + + +-- adjust offical list by regrouping left + right signs +ALTER TABLE signalo_db.sign DROP CONSTRAINT fkey_vl_official_sign; + +UPDATE signalo_db.vl_official_sign s1 SET + id = replace(s1.id, '-l', '') + , directional_sign = TRUE + , img_de_right = s2.img_de + , img_fr_right = s2.img_fr + , img_it_right = s2.img_it + , img_ro_right = s2.img_ro +FROM signalo_db.vl_official_sign s2 +WHERE s1.id LIKE '%-l' AND s2.id = replace(s1.id, '-l', '-r'); +DELETE FROM signalo_db.vl_official_sign WHERE id LIKE '%-r'; + +UPDATE signalo_db.vl_official_sign SET + value_de = replace(value_de, ', Pfeil links', '') + , value_fr = replace(replace(value_fr, ', flèche à gauche', ''), ' (gauche)', '') + , value_it = replace(value_it, ', flèche à gauche', ''); + +UPDATE signalo_db.sign SET fk_official_sign = replace(fk_official_sign, '-l', '') WHERE fk_official_sign LIKE '%-l'; +UPDATE signalo_db.sign SET fk_official_sign = replace(fk_official_sign, '-r', '') WHERE fk_official_sign LIKE '%-r'; + +ALTER TABLE signalo_db.sign ADD CONSTRAINT fkey_vl_official_sign FOREIGN KEY (fk_official_sign) REFERENCES signalo_db.vl_official_sign (id); diff --git a/data_model/changelogs/0007/0007_support_photo2.sql b/data_model/changelogs/0007/0007_support_photo2.sql new file mode 100644 index 00000000..31ea75eb --- /dev/null +++ b/data_model/changelogs/0007/0007_support_photo2.sql @@ -0,0 +1,2 @@ +ALTER TABLE signalo_db.support + ADD column picture_2 text; diff --git a/data_model/changelogs/0007/0007_user_signs_img.sql b/data_model/changelogs/0007/0007_user_signs_img.sql new file mode 100644 index 00000000..515b94b2 --- /dev/null +++ b/data_model/changelogs/0007/0007_user_signs_img.sql @@ -0,0 +1,17 @@ +/* ALTER TABLE signalo_db.vl_user_sign + ADD column img text, + ADD column value text; + +UPDATE signalo_db.vl_user_sign set img = coalesce(img_fr, img_de, img_it, img_ro, NULL); +UPDATE signalo_db.vl_user_sign set value = coalesce(value_fr, value_de, value_it, value_ro, NULL); + +ALTER TABLE signalo_db.vl_user_sign + DROP column img_fr, + DROP column value_fr, + DROP column img_de, + DROP column value_de, + DROP column img_it, + DROP column value_it, + DROP column img_ro, + DROP column value_ro; +*/ diff --git a/data_model/demo_data/azimut_content.sql b/data_model/demo_data/azimut_content.sql index 8417ec41..b3dc8f19 100644 --- a/data_model/demo_data/azimut_content.sql +++ b/data_model/demo_data/azimut_content.sql @@ -1,17 +1,15 @@ -INSERT INTO signalo_db.azimut (id, fk_support, azimut, usr_azimut_1, usr_azimut_2, usr_azimut_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited) VALUES ('00000000-0000-0000-aaaa-000000000101', '00000000-0000-0000-0000-000000000001', 15, NULL, NULL, NULL, '2023-02-22 08:31:37.718787', NULL, '2023-02-22 08:31:37.718787', NULL, false); -INSERT INTO signalo_db.azimut (id, fk_support, azimut, usr_azimut_1, usr_azimut_2, usr_azimut_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited) VALUES ('00000000-0000-0000-aaaa-000000000102', '00000000-0000-0000-0000-000000000001', 175, NULL, NULL, NULL, '2023-02-22 08:31:37.729912', NULL, '2023-02-22 08:31:37.729912', NULL, false); -INSERT INTO signalo_db.azimut (id, fk_support, azimut, usr_azimut_1, usr_azimut_2, usr_azimut_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited) VALUES ('00000000-0000-0000-aaaa-000000000103', '00000000-0000-0000-0000-000000000001', 235, NULL, NULL, NULL, '2023-02-22 08:31:37.735642', NULL, '2023-02-22 08:31:37.735642', NULL, false); -INSERT INTO signalo_db.azimut (id, fk_support, azimut, usr_azimut_1, usr_azimut_2, usr_azimut_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited) VALUES ('00000000-0000-0000-aaaa-000000000201', '00000000-0000-0000-0000-000000000002', 47, NULL, NULL, NULL, '2023-02-22 08:31:37.740141', NULL, '2023-02-22 08:31:37.740141', NULL, false); -INSERT INTO signalo_db.azimut (id, fk_support, azimut, usr_azimut_1, usr_azimut_2, usr_azimut_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited) VALUES ('00000000-0000-0000-aaaa-000000000202', '00000000-0000-0000-0000-000000000002', 165, NULL, NULL, NULL, '2023-02-22 08:31:37.741532', NULL, '2023-02-22 08:31:37.741532', NULL, false); -INSERT INTO signalo_db.azimut (id, fk_support, azimut, usr_azimut_1, usr_azimut_2, usr_azimut_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited) VALUES ('0e2cd688-3984-46b5-9f70-e052305e2cac', 'f5054922-95a7-4f12-8374-0a57e105327c', 135, NULL, NULL, NULL, '2023-02-22 10:06:58.155', 'Denis Rouzaud', '2023-02-22 10:09:12.711', 'Denis Rouzaud', false); -INSERT INTO signalo_db.azimut (id, fk_support, azimut, usr_azimut_1, usr_azimut_2, usr_azimut_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited) VALUES ('1193f576-089a-11eb-8b8b-0242ac110002', '814da66a-0894-11eb-99f5-0242ac110002', 180, NULL, NULL, NULL, '2023-02-22 08:31:37.751308', NULL, '2023-02-22 08:31:37.751308', NULL, false); -INSERT INTO signalo_db.azimut (id, fk_support, azimut, usr_azimut_1, usr_azimut_2, usr_azimut_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited) VALUES ('1e183f64-0930-11eb-b1e2-0242ac110002', 'be315096-092e-11eb-b1e2-0242ac110002', 185, NULL, NULL, NULL, '2023-02-22 08:31:37.754136', NULL, '2023-02-22 08:31:37.754136', NULL, false); -INSERT INTO signalo_db.azimut (id, fk_support, azimut, usr_azimut_1, usr_azimut_2, usr_azimut_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited) VALUES ('38870144-092d-11eb-b1e2-0242ac110002', '2aa9d090-092a-11eb-8ade-0242ac110002', 45, NULL, NULL, NULL, '2023-02-22 08:31:37.756137', NULL, '2023-02-22 08:31:37.756137', NULL, false); -INSERT INTO signalo_db.azimut (id, fk_support, azimut, usr_azimut_1, usr_azimut_2, usr_azimut_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited) VALUES ('3891ceb8-092c-11eb-b1e2-0242ac110002', '2aa9d090-092a-11eb-8ade-0242ac110002', 180, NULL, NULL, NULL, '2023-02-22 08:31:37.761005', NULL, '2023-02-22 08:31:37.761005', NULL, false); -INSERT INTO signalo_db.azimut (id, fk_support, azimut, usr_azimut_1, usr_azimut_2, usr_azimut_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited) VALUES ('7be11b92-092c-11eb-b1e2-0242ac110002', '2aa9d090-092a-11eb-8ade-0242ac110002', 270, NULL, NULL, NULL, '2023-02-22 08:31:37.769153', NULL, '2023-02-22 08:31:37.769153', NULL, false); -INSERT INTO signalo_db.azimut (id, fk_support, azimut, usr_azimut_1, usr_azimut_2, usr_azimut_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited) VALUES ('82ab5086-092d-11eb-b1e2-0242ac110002', '154d0f28-092a-11eb-8ade-0242ac110002', 225, NULL, NULL, NULL, '2023-02-22 08:31:37.776603', NULL, '2023-02-22 08:31:37.776603', NULL, false); -INSERT INTO signalo_db.azimut (id, fk_support, azimut, usr_azimut_1, usr_azimut_2, usr_azimut_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited) VALUES ('83fb8a3a-0899-11eb-8b8b-0242ac110002', '814da66a-0894-11eb-99f5-0242ac110002', 20, NULL, NULL, NULL, '2023-02-22 08:31:37.777955', NULL, '2023-02-22 08:31:37.777955', NULL, false); -INSERT INTO signalo_db.azimut (id, fk_support, azimut, usr_azimut_1, usr_azimut_2, usr_azimut_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited) VALUES ('cda084de-092e-11eb-b1e2-0242ac110002', 'be315096-092e-11eb-b1e2-0242ac110002', 140, NULL, NULL, NULL, '2023-02-22 08:31:37.787987', NULL, '2023-02-22 08:31:37.787987', NULL, false); -INSERT INTO signalo_db.azimut (id, fk_support, azimut, usr_azimut_1, usr_azimut_2, usr_azimut_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited) VALUES ('dd9e3482-089b-11eb-8b8b-0242ac110002', '2e988298-0897-11eb-8771-0242ac110002', 20, NULL, NULL, NULL, '2023-02-22 08:31:37.79742', NULL, '2023-02-22 08:31:37.79742', NULL, false); -INSERT INTO signalo_db.azimut (id, fk_support, azimut, usr_azimut_1, usr_azimut_2, usr_azimut_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited) VALUES ('e136f7a0-5913-48bb-8893-1b4b0705f238', '4478bbcc-0236-46ee-b284-4c586e6af8a9', 0, NULL, NULL, NULL, '2023-06-21 08:36:19.92', 'Denis Rouzaud', '2023-06-21 08:36:19.92', 'Denis Rouzaud', false); -INSERT INTO signalo_db.azimut (id, fk_support, azimut, usr_azimut_1, usr_azimut_2, usr_azimut_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited) VALUES ('fd0352b6-092d-11eb-b1e2-0242ac110002', '154d0f28-092a-11eb-8ade-0242ac110002', 270, NULL, NULL, NULL, '2023-02-22 08:31:37.799163', NULL, '2023-02-22 08:31:37.799163', NULL, false); +INSERT INTO signalo_db.azimut (id, fk_support, azimut, usr_azimut_1, usr_azimut_2, usr_azimut_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, offset_x, offset_y) VALUES ('00000000-0000-0000-aaaa-000000000201', '00000000-0000-0000-0000-000000000002', 47, NULL, NULL, NULL, '2023-02-22 08:31:37.740141', NULL, '2023-02-22 08:31:37.740141', NULL, false, 0, 0); +INSERT INTO signalo_db.azimut (id, fk_support, azimut, usr_azimut_1, usr_azimut_2, usr_azimut_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, offset_x, offset_y) VALUES ('00000000-0000-0000-aaaa-000000000202', '00000000-0000-0000-0000-000000000002', 165, NULL, NULL, NULL, '2023-02-22 08:31:37.741532', NULL, '2023-02-22 08:31:37.741532', NULL, false, 0, 0); +INSERT INTO signalo_db.azimut (id, fk_support, azimut, usr_azimut_1, usr_azimut_2, usr_azimut_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, offset_x, offset_y) VALUES ('00000000-0000-bbbb-0000-0000000000a1', '00000000-0000-0000-0000-0000000000a1', 290, NULL, NULL, NULL, '2023-02-22 08:31:37.799163', NULL, '2023-11-14 08:33:39.706', 'Rouzaud Denis', false, 0, 0); +INSERT INTO signalo_db.azimut (id, fk_support, azimut, usr_azimut_1, usr_azimut_2, usr_azimut_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, offset_x, offset_y) VALUES ('0d8fb844-ec63-43fb-a0e5-cd35a0c62565', '82f3002b-ebdf-4621-9a19-951639fc18bd', 20, NULL, NULL, NULL, '2023-09-06 09:22:19.287', 'Denis Rouzaud', '2023-11-14 05:56:42.155', 'Rouzaud Denis', false, 0, 0); +INSERT INTO signalo_db.azimut (id, fk_support, azimut, usr_azimut_1, usr_azimut_2, usr_azimut_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, offset_x, offset_y) VALUES ('0e2cd688-3984-46b5-9f70-e052305e2cac', 'f5054922-95a7-4f12-8374-0a57e105327c', 110, NULL, NULL, NULL, '2023-02-22 10:06:58.155', 'Denis Rouzaud', '2023-09-07 09:35:52.676', 'Denis Rouzaud', false, 0, 0); +INSERT INTO signalo_db.azimut (id, fk_support, azimut, usr_azimut_1, usr_azimut_2, usr_azimut_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, offset_x, offset_y) VALUES ('1193f576-089a-11eb-8b8b-0242ac110002', '814da66a-0894-11eb-99f5-0242ac110002', 180, NULL, NULL, NULL, '2023-02-22 08:31:37.751308', NULL, '2023-02-22 08:31:37.751308', NULL, false, 0, 0); +INSERT INTO signalo_db.azimut (id, fk_support, azimut, usr_azimut_1, usr_azimut_2, usr_azimut_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, offset_x, offset_y) VALUES ('55ffc93c-fd0f-4c67-8fe7-da217124a793', 'bbdb5d1e-4973-4900-8838-889357a60e65', 180, NULL, NULL, NULL, '2023-09-06 09:22:19.287', 'Denis Rouzaud', '2023-11-08 13:29:03.412', 'Rouzaud Denis', false, 0, 0); +INSERT INTO signalo_db.azimut (id, fk_support, azimut, usr_azimut_1, usr_azimut_2, usr_azimut_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, offset_x, offset_y) VALUES ('83fb8a3a-0899-11eb-8b8b-0242ac110002', '814da66a-0894-11eb-99f5-0242ac110002', 20, NULL, NULL, NULL, '2023-02-22 08:31:37.777955', NULL, '2023-02-22 08:31:37.777955', NULL, false, 0, 0); +INSERT INTO signalo_db.azimut (id, fk_support, azimut, usr_azimut_1, usr_azimut_2, usr_azimut_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, offset_x, offset_y) VALUES ('9dcc763a-1af7-4fb8-9e32-085f74a3ef77', 'a3921fbd-8a89-4d82-b3b8-7a24a16f4df4', 100, NULL, NULL, NULL, '2023-09-07 09:36:47.07', 'Denis Rouzaud', '2023-09-07 09:39:36.121', 'Denis Rouzaud', false, 0, 0); +INSERT INTO signalo_db.azimut (id, fk_support, azimut, usr_azimut_1, usr_azimut_2, usr_azimut_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, offset_x, offset_y) VALUES ('b3fd2055-2ab4-4da8-9dbc-a3aeba311fe7', 'f17d39cc-bac3-4134-9b9c-ea14e228d4b4', 110, NULL, NULL, NULL, '2023-08-31 16:15:55.608', 'Denis Rouzaud', '2023-11-14 08:33:25.694', 'Rouzaud Denis', false, 0, 0); +INSERT INTO signalo_db.azimut (id, fk_support, azimut, usr_azimut_1, usr_azimut_2, usr_azimut_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, offset_x, offset_y) VALUES ('bbb63098-ee04-4a0d-963d-4df18af5fa7a', '70104932-54ff-4668-90b0-6946352d5544', 200, NULL, NULL, NULL, '2023-09-06 09:22:19.287', 'Denis Rouzaud', '2023-09-07 09:17:46.397', 'Denis Rouzaud', false, 0, 0); +INSERT INTO signalo_db.azimut (id, fk_support, azimut, usr_azimut_1, usr_azimut_2, usr_azimut_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, offset_x, offset_y) VALUES ('d8a1e45b-7f4c-4c71-a12a-3a2df6d42045', 'bbdb5d1e-4973-4900-8838-889357a60e65', 90, NULL, NULL, NULL, '2023-11-08 13:29:08.086', 'Rouzaud Denis', '2023-11-21 17:34:52.914', 'Rouzaud Denis', false, 1, 0); +INSERT INTO signalo_db.azimut (id, fk_support, azimut, usr_azimut_1, usr_azimut_2, usr_azimut_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, offset_x, offset_y) VALUES ('dd9e3482-089b-11eb-8b8b-0242ac110002', '2e988298-0897-11eb-8771-0242ac110002', 20, NULL, NULL, NULL, '2023-02-22 08:31:37.79742', NULL, '2023-02-22 08:31:37.79742', NULL, false, 0, 0); +INSERT INTO signalo_db.azimut (id, fk_support, azimut, usr_azimut_1, usr_azimut_2, usr_azimut_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, offset_x, offset_y) VALUES ('e136f7a0-5913-48bb-8893-1b4b0705f238', '4478bbcc-0236-46ee-b284-4c586e6af8a9', 10, NULL, NULL, NULL, '2023-06-21 08:36:19.92', 'Denis Rouzaud', '2023-09-07 09:46:09.378', 'Denis Rouzaud', false, 0, 0); +INSERT INTO signalo_db.azimut (id, fk_support, azimut, usr_azimut_1, usr_azimut_2, usr_azimut_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, offset_x, offset_y) VALUES ('e3999392-ea54-4848-87cb-9440a552d35b', '82f3002b-ebdf-4621-9a19-951639fc18bd', 110, NULL, NULL, NULL, '2023-09-06 09:21:06.167', 'Denis Rouzaud', '2023-11-14 05:57:01.141', 'Rouzaud Denis', false, 0, 0); diff --git a/data_model/demo_data/frame_content.sql b/data_model/demo_data/frame_content.sql index 7703c443..43bbe7e5 100644 --- a/data_model/demo_data/frame_content.sql +++ b/data_model/demo_data/frame_content.sql @@ -1,33 +1,25 @@ -INSERT INTO signalo_db.frame (id, fk_azimut, rank, fk_frame_type, fk_frame_fixing_type, double_sided, fk_status, fk_provider, comment, picture, dimension_1, dimension_2, usr_frame_1, usr_frame_2, usr_frame_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited) VALUES ('00000000-0000-0000-ffff-000000010101', '00000000-0000-0000-aaaa-000000000101', 1, 1, 1, true, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2023-02-22 08:31:38.032388', NULL, '2023-02-22 08:31:38.032388', NULL, false); -INSERT INTO signalo_db.frame (id, fk_azimut, rank, fk_frame_type, fk_frame_fixing_type, double_sided, fk_status, fk_provider, comment, picture, dimension_1, dimension_2, usr_frame_1, usr_frame_2, usr_frame_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited) VALUES ('00000000-0000-0000-ffff-000000010102', '00000000-0000-0000-aaaa-000000000101', 2, 1, 1, true, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2023-02-22 08:31:38.037969', NULL, '2023-02-22 08:31:38.037969', NULL, false); -INSERT INTO signalo_db.frame (id, fk_azimut, rank, fk_frame_type, fk_frame_fixing_type, double_sided, fk_status, fk_provider, comment, picture, dimension_1, dimension_2, usr_frame_1, usr_frame_2, usr_frame_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited) VALUES ('00000000-0000-0000-ffff-000000010201', '00000000-0000-0000-aaaa-000000000102', 1, 1, 1, true, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2023-02-22 08:31:38.051269', NULL, '2023-02-22 08:31:38.051269', NULL, false); -INSERT INTO signalo_db.frame (id, fk_azimut, rank, fk_frame_type, fk_frame_fixing_type, double_sided, fk_status, fk_provider, comment, picture, dimension_1, dimension_2, usr_frame_1, usr_frame_2, usr_frame_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited) VALUES ('00000000-0000-0000-ffff-000000010202', '00000000-0000-0000-aaaa-000000000102', 2, 1, 1, true, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2023-02-22 08:31:38.067246', NULL, '2023-02-22 08:31:38.067246', NULL, false); -INSERT INTO signalo_db.frame (id, fk_azimut, rank, fk_frame_type, fk_frame_fixing_type, double_sided, fk_status, fk_provider, comment, picture, dimension_1, dimension_2, usr_frame_1, usr_frame_2, usr_frame_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited) VALUES ('00000000-0000-0000-ffff-000000010203', '00000000-0000-0000-aaaa-000000000102', 3, 1, 1, true, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2023-02-22 08:31:38.07766', NULL, '2023-02-22 08:31:38.07766', NULL, false); -INSERT INTO signalo_db.frame (id, fk_azimut, rank, fk_frame_type, fk_frame_fixing_type, double_sided, fk_status, fk_provider, comment, picture, dimension_1, dimension_2, usr_frame_1, usr_frame_2, usr_frame_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited) VALUES ('00000000-0000-0000-ffff-000000010301', '00000000-0000-0000-aaaa-000000000103', 1, 1, 1, true, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2023-02-22 08:31:38.081297', NULL, '2023-02-22 08:31:38.081297', NULL, false); -INSERT INTO signalo_db.frame (id, fk_azimut, rank, fk_frame_type, fk_frame_fixing_type, double_sided, fk_status, fk_provider, comment, picture, dimension_1, dimension_2, usr_frame_1, usr_frame_2, usr_frame_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited) VALUES ('00000000-0000-0000-ffff-000000010302', '00000000-0000-0000-aaaa-000000000103', 2, 1, 1, true, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2023-02-22 08:31:38.084776', NULL, '2023-02-22 08:31:38.084776', NULL, false); -INSERT INTO signalo_db.frame (id, fk_azimut, rank, fk_frame_type, fk_frame_fixing_type, double_sided, fk_status, fk_provider, comment, picture, dimension_1, dimension_2, usr_frame_1, usr_frame_2, usr_frame_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited) VALUES ('00000000-0000-0000-ffff-000000020101', '00000000-0000-0000-aaaa-000000000201', 1, 1, 1, true, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2023-02-22 08:31:38.086453', NULL, '2023-02-22 08:31:38.086453', NULL, false); -INSERT INTO signalo_db.frame (id, fk_azimut, rank, fk_frame_type, fk_frame_fixing_type, double_sided, fk_status, fk_provider, comment, picture, dimension_1, dimension_2, usr_frame_1, usr_frame_2, usr_frame_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited) VALUES ('00000000-0000-0000-ffff-000000020201', '00000000-0000-0000-aaaa-000000000202', 1, 1, 1, true, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2023-02-22 08:31:38.088071', NULL, '2023-02-22 08:31:38.088071', NULL, false); -INSERT INTO signalo_db.frame (id, fk_azimut, rank, fk_frame_type, fk_frame_fixing_type, double_sided, fk_status, fk_provider, comment, picture, dimension_1, dimension_2, usr_frame_1, usr_frame_2, usr_frame_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited) VALUES ('00000000-0000-0000-ffff-000000020202', '00000000-0000-0000-aaaa-000000000202', 2, 1, 1, true, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2023-02-22 08:31:38.089553', NULL, '2023-02-22 08:31:38.089553', NULL, false); -INSERT INTO signalo_db.frame (id, fk_azimut, rank, fk_frame_type, fk_frame_fixing_type, double_sided, fk_status, fk_provider, comment, picture, dimension_1, dimension_2, usr_frame_1, usr_frame_2, usr_frame_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited) VALUES ('00000000-0000-0000-ffff-000000020203', '00000000-0000-0000-aaaa-000000000202', 3, 1, 1, true, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2023-02-22 08:31:38.091047', NULL, '2023-02-22 08:31:38.091047', NULL, false); -INSERT INTO signalo_db.frame (id, fk_azimut, rank, fk_frame_type, fk_frame_fixing_type, double_sided, fk_status, fk_provider, comment, picture, dimension_1, dimension_2, usr_frame_1, usr_frame_2, usr_frame_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited) VALUES ('00000000-0000-0000-ffff-000000020204', '00000000-0000-0000-aaaa-000000000202', 4, 1, 1, true, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2023-02-22 08:31:38.092504', NULL, '2023-02-22 08:31:38.092504', NULL, false); -INSERT INTO signalo_db.frame (id, fk_azimut, rank, fk_frame_type, fk_frame_fixing_type, double_sided, fk_status, fk_provider, comment, picture, dimension_1, dimension_2, usr_frame_1, usr_frame_2, usr_frame_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited) VALUES ('0800ffca-092d-11eb-8dbb-0242ac110002', '7be11b92-092c-11eb-b1e2-0242ac110002', 1, 2, 3, false, 3, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2023-02-22 08:31:38.094819', NULL, '2023-02-22 08:31:38.094819', NULL, false); -INSERT INTO signalo_db.frame (id, fk_azimut, rank, fk_frame_type, fk_frame_fixing_type, double_sided, fk_status, fk_provider, comment, picture, dimension_1, dimension_2, usr_frame_1, usr_frame_2, usr_frame_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited) VALUES ('0fa35720-0930-11eb-8dbb-0242ac110002', 'cda084de-092e-11eb-b1e2-0242ac110002', 1, 2, 3, false, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2023-02-22 08:31:38.09708', NULL, '2023-02-22 08:31:38.09708', NULL, false); -INSERT INTO signalo_db.frame (id, fk_azimut, rank, fk_frame_type, fk_frame_fixing_type, double_sided, fk_status, fk_provider, comment, picture, dimension_1, dimension_2, usr_frame_1, usr_frame_2, usr_frame_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited) VALUES ('19d4cf98-0927-11eb-b4e5-0242ac110002', 'dd9e3482-089b-11eb-8b8b-0242ac110002', 1, 10, NULL, false, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2023-02-22 08:31:38.098692', NULL, '2023-02-22 08:31:38.098692', NULL, false); -INSERT INTO signalo_db.frame (id, fk_azimut, rank, fk_frame_type, fk_frame_fixing_type, double_sided, fk_status, fk_provider, comment, picture, dimension_1, dimension_2, usr_frame_1, usr_frame_2, usr_frame_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited) VALUES ('1b03a136-092d-11eb-8dbb-0242ac110002', '7be11b92-092c-11eb-b1e2-0242ac110002', 2, 2, 10, false, 3, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2023-02-22 08:31:38.100516', NULL, '2023-02-22 08:31:38.100516', NULL, false); -INSERT INTO signalo_db.frame (id, fk_azimut, rank, fk_frame_type, fk_frame_fixing_type, double_sided, fk_status, fk_provider, comment, picture, dimension_1, dimension_2, usr_frame_1, usr_frame_2, usr_frame_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited) VALUES ('24bc1524-096d-11eb-83b3-0242ac110002', '82ab5086-092d-11eb-b1e2-0242ac110002', 1, 3, 2, false, 10, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2023-02-22 08:31:38.101891', NULL, '2023-02-22 08:31:38.101891', NULL, false); -INSERT INTO signalo_db.frame (id, fk_azimut, rank, fk_frame_type, fk_frame_fixing_type, double_sided, fk_status, fk_provider, comment, picture, dimension_1, dimension_2, usr_frame_1, usr_frame_2, usr_frame_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited) VALUES ('2f6ed0a2-0930-11eb-8dbb-0242ac110002', '1e183f64-0930-11eb-b1e2-0242ac110002', 1, 2, 3, false, 10, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2023-02-22 08:31:38.103972', NULL, '2023-02-22 08:31:38.103972', NULL, false); -INSERT INTO signalo_db.frame (id, fk_azimut, rank, fk_frame_type, fk_frame_fixing_type, double_sided, fk_status, fk_provider, comment, picture, dimension_1, dimension_2, usr_frame_1, usr_frame_2, usr_frame_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited) VALUES ('348fc524-cc99-41c4-8780-2f7e4d2ff919', 'e136f7a0-5913-48bb-8893-1b4b0705f238', 1, NULL, NULL, false, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2023-06-21 08:36:24.53', 'Denis Rouzaud', '2023-06-21 08:36:24.53', 'Denis Rouzaud', false); -INSERT INTO signalo_db.frame (id, fk_azimut, rank, fk_frame_type, fk_frame_fixing_type, double_sided, fk_status, fk_provider, comment, picture, dimension_1, dimension_2, usr_frame_1, usr_frame_2, usr_frame_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited) VALUES ('46d03498-0930-11eb-8dbb-0242ac110002', '1e183f64-0930-11eb-b1e2-0242ac110002', 2, 2, 2, false, 3, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2023-02-22 08:31:38.105787', NULL, '2023-02-22 08:31:38.105787', NULL, false); -INSERT INTO signalo_db.frame (id, fk_azimut, rank, fk_frame_type, fk_frame_fixing_type, double_sided, fk_status, fk_provider, comment, picture, dimension_1, dimension_2, usr_frame_1, usr_frame_2, usr_frame_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited) VALUES ('48f98a98-092c-11eb-8dbb-0242ac110002', '3891ceb8-092c-11eb-b1e2-0242ac110002', 1, 3, 2, false, 10, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2023-02-22 08:31:38.108407', NULL, '2023-02-22 08:31:38.108407', NULL, false); -INSERT INTO signalo_db.frame (id, fk_azimut, rank, fk_frame_type, fk_frame_fixing_type, double_sided, fk_status, fk_provider, comment, picture, dimension_1, dimension_2, usr_frame_1, usr_frame_2, usr_frame_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited) VALUES ('51dd9ad6-092d-11eb-8dbb-0242ac110002', '38870144-092d-11eb-b1e2-0242ac110002', 1, 3, 1, false, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2023-02-22 08:31:38.110769', NULL, '2023-02-22 08:31:38.110769', NULL, false); -INSERT INTO signalo_db.frame (id, fk_azimut, rank, fk_frame_type, fk_frame_fixing_type, double_sided, fk_status, fk_provider, comment, picture, dimension_1, dimension_2, usr_frame_1, usr_frame_2, usr_frame_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited) VALUES ('5338d0a2-092e-11eb-8dbb-0242ac110002', 'fd0352b6-092d-11eb-b1e2-0242ac110002', 1, 3, 2, false, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2023-02-22 08:31:38.112599', NULL, '2023-02-22 08:31:38.112599', NULL, false); -INSERT INTO signalo_db.frame (id, fk_azimut, rank, fk_frame_type, fk_frame_fixing_type, double_sided, fk_status, fk_provider, comment, picture, dimension_1, dimension_2, usr_frame_1, usr_frame_2, usr_frame_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited) VALUES ('5fe23986-0930-11eb-8dbb-0242ac110002', '1e183f64-0930-11eb-b1e2-0242ac110002', 3, 11, 1, false, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2023-02-22 08:31:38.1156', NULL, '2023-02-22 08:31:38.1156', NULL, false); -INSERT INTO signalo_db.frame (id, fk_azimut, rank, fk_frame_type, fk_frame_fixing_type, double_sided, fk_status, fk_provider, comment, picture, dimension_1, dimension_2, usr_frame_1, usr_frame_2, usr_frame_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited) VALUES ('642de2ea-089c-11eb-b19a-0242ac110002', 'dd9e3482-089b-11eb-8b8b-0242ac110002', 2, 3, 11, false, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2023-02-22 08:31:38.118357', NULL, '2023-02-22 08:31:38.118357', NULL, false); -INSERT INTO signalo_db.frame (id, fk_azimut, rank, fk_frame_type, fk_frame_fixing_type, double_sided, fk_status, fk_provider, comment, picture, dimension_1, dimension_2, usr_frame_1, usr_frame_2, usr_frame_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited) VALUES ('652f9252-092c-11eb-8dbb-0242ac110002', '3891ceb8-092c-11eb-b1e2-0242ac110002', 2, 3, 2, false, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2023-02-22 08:31:38.12057', NULL, '2023-02-22 08:31:38.12057', NULL, false); -INSERT INTO signalo_db.frame (id, fk_azimut, rank, fk_frame_type, fk_frame_fixing_type, double_sided, fk_status, fk_provider, comment, picture, dimension_1, dimension_2, usr_frame_1, usr_frame_2, usr_frame_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited) VALUES ('66c9fa0c-092d-11eb-8dbb-0242ac110002', '38870144-092d-11eb-b1e2-0242ac110002', 2, 3, 3, false, 3, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2023-02-22 08:31:38.122528', NULL, '2023-02-22 08:31:38.122528', NULL, false); -INSERT INTO signalo_db.frame (id, fk_azimut, rank, fk_frame_type, fk_frame_fixing_type, double_sided, fk_status, fk_provider, comment, picture, dimension_1, dimension_2, usr_frame_1, usr_frame_2, usr_frame_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited) VALUES ('66eb35a4-092e-11eb-8dbb-0242ac110002', 'fd0352b6-092d-11eb-b1e2-0242ac110002', 2, 10, 1, false, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2023-02-22 08:31:38.144191', NULL, '2023-02-22 08:31:38.144191', NULL, false); -INSERT INTO signalo_db.frame (id, fk_azimut, rank, fk_frame_type, fk_frame_fixing_type, double_sided, fk_status, fk_provider, comment, picture, dimension_1, dimension_2, usr_frame_1, usr_frame_2, usr_frame_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited) VALUES ('98d41cd0-092d-11eb-8dbb-0242ac110002', '82ab5086-092d-11eb-b1e2-0242ac110002', 2, 11, 3, false, 10, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2023-02-22 08:31:38.148852', NULL, '2023-02-22 08:31:38.148852', NULL, false); -INSERT INTO signalo_db.frame (id, fk_azimut, rank, fk_frame_type, fk_frame_fixing_type, double_sided, fk_status, fk_provider, comment, picture, dimension_1, dimension_2, usr_frame_1, usr_frame_2, usr_frame_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited) VALUES ('a49c33b0-0926-11eb-b4e5-0242ac110002', 'dd9e3482-089b-11eb-8b8b-0242ac110002', 3, 12, 2, false, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2023-02-22 08:31:38.152963', NULL, '2023-02-22 08:31:38.152963', NULL, false); -INSERT INTO signalo_db.frame (id, fk_azimut, rank, fk_frame_type, fk_frame_fixing_type, double_sided, fk_status, fk_provider, comment, picture, dimension_1, dimension_2, usr_frame_1, usr_frame_2, usr_frame_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited) VALUES ('bc6eb427-308e-4ff2-a94a-c1a2be2fc5af', '0e2cd688-3984-46b5-9f70-e052305e2cac', 1, 10, NULL, false, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2023-02-22 10:07:20.883', 'Denis Rouzaud', '2023-02-22 10:07:20.883', 'Denis Rouzaud', false); -INSERT INTO signalo_db.frame (id, fk_azimut, rank, fk_frame_type, fk_frame_fixing_type, double_sided, fk_status, fk_provider, comment, picture, dimension_1, dimension_2, usr_frame_1, usr_frame_2, usr_frame_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited) VALUES ('d5e4da56-092d-11eb-8dbb-0242ac110002', '82ab5086-092d-11eb-b1e2-0242ac110002', 3, 2, 2, false, 3, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2023-02-22 08:31:38.160797', NULL, '2023-02-22 08:31:38.160797', NULL, false); -INSERT INTO signalo_db.frame (id, fk_azimut, rank, fk_frame_type, fk_frame_fixing_type, double_sided, fk_status, fk_provider, comment, picture, dimension_1, dimension_2, usr_frame_1, usr_frame_2, usr_frame_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited) VALUES ('f588634a-092e-11eb-8dbb-0242ac110002', 'cda084de-092e-11eb-b1e2-0242ac110002', 2, 2, 2, false, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2023-02-22 08:31:38.189512', NULL, '2023-02-22 08:31:38.189512', NULL, false); +INSERT INTO signalo_db.frame (id, fk_azimut, rank, fk_frame_type, fk_frame_fixing_type, double_sided, fk_status, fk_provider, comment, picture, dimension_1, dimension_2, usr_frame_1, usr_frame_2, usr_frame_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, anchor_point) VALUES ('00000000-0000-0000-ffff-000000020101', '00000000-0000-0000-aaaa-000000000201', 1, 1, 1, true, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2023-02-22 08:31:38.086453', NULL, '2023-02-22 08:31:38.086453', NULL, false, 'CENTER'); +INSERT INTO signalo_db.frame (id, fk_azimut, rank, fk_frame_type, fk_frame_fixing_type, double_sided, fk_status, fk_provider, comment, picture, dimension_1, dimension_2, usr_frame_1, usr_frame_2, usr_frame_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, anchor_point) VALUES ('00000000-0000-0000-ffff-000000020201', '00000000-0000-0000-aaaa-000000000202', 1, 1, 1, true, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2023-02-22 08:31:38.088071', NULL, '2023-02-22 08:31:38.088071', NULL, false, 'CENTER'); +INSERT INTO signalo_db.frame (id, fk_azimut, rank, fk_frame_type, fk_frame_fixing_type, double_sided, fk_status, fk_provider, comment, picture, dimension_1, dimension_2, usr_frame_1, usr_frame_2, usr_frame_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, anchor_point) VALUES ('00000000-0000-0000-ffff-000000020202', '00000000-0000-0000-aaaa-000000000202', 2, 1, 1, true, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2023-02-22 08:31:38.089553', NULL, '2023-02-22 08:31:38.089553', NULL, false, 'CENTER'); +INSERT INTO signalo_db.frame (id, fk_azimut, rank, fk_frame_type, fk_frame_fixing_type, double_sided, fk_status, fk_provider, comment, picture, dimension_1, dimension_2, usr_frame_1, usr_frame_2, usr_frame_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, anchor_point) VALUES ('00000000-0000-0000-ffff-000000020203', '00000000-0000-0000-aaaa-000000000202', 3, 1, 1, true, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2023-02-22 08:31:38.091047', NULL, '2023-02-22 08:31:38.091047', NULL, false, 'CENTER'); +INSERT INTO signalo_db.frame (id, fk_azimut, rank, fk_frame_type, fk_frame_fixing_type, double_sided, fk_status, fk_provider, comment, picture, dimension_1, dimension_2, usr_frame_1, usr_frame_2, usr_frame_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, anchor_point) VALUES ('00000000-0000-0000-ffff-000000020204', '00000000-0000-0000-aaaa-000000000202', 4, 1, 1, true, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2023-02-22 08:31:38.092504', NULL, '2023-02-22 08:31:38.092504', NULL, false, 'CENTER'); +INSERT INTO signalo_db.frame (id, fk_azimut, rank, fk_frame_type, fk_frame_fixing_type, double_sided, fk_status, fk_provider, comment, picture, dimension_1, dimension_2, usr_frame_1, usr_frame_2, usr_frame_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, anchor_point) VALUES ('00000000-0000-ffff-0000-0000000000a1', '00000000-0000-bbbb-0000-0000000000a1', 1, 2, 2, false, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2023-02-22 08:31:38.189512', NULL, '2023-09-06 09:16:18.777', 'Denis Rouzaud', false, 'RIGHT'); +INSERT INTO signalo_db.frame (id, fk_azimut, rank, fk_frame_type, fk_frame_fixing_type, double_sided, fk_status, fk_provider, comment, picture, dimension_1, dimension_2, usr_frame_1, usr_frame_2, usr_frame_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, anchor_point) VALUES ('00000000-0000-ffff-0000-0000000000a2', '00000000-0000-bbbb-0000-0000000000a1', 2, 2, 2, false, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2023-02-22 08:31:38.189512', NULL, '2023-09-06 09:16:27.768', 'Denis Rouzaud', false, 'LEFT'); +INSERT INTO signalo_db.frame (id, fk_azimut, rank, fk_frame_type, fk_frame_fixing_type, double_sided, fk_status, fk_provider, comment, picture, dimension_1, dimension_2, usr_frame_1, usr_frame_2, usr_frame_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, anchor_point) VALUES ('055369c1-e422-4851-aa90-690e4a526335', 'bbb63098-ee04-4a0d-963d-4df18af5fa7a', 2, NULL, NULL, false, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2023-09-06 09:23:15.419', 'Denis Rouzaud', '2023-09-06 09:27:48.632', 'Denis Rouzaud', false, 'LEFT'); +INSERT INTO signalo_db.frame (id, fk_azimut, rank, fk_frame_type, fk_frame_fixing_type, double_sided, fk_status, fk_provider, comment, picture, dimension_1, dimension_2, usr_frame_1, usr_frame_2, usr_frame_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, anchor_point) VALUES ('0cac19f6-db18-4354-9901-1bbc53a41e01', 'e3999392-ea54-4848-87cb-9440a552d35b', 1, NULL, NULL, false, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2023-09-06 09:21:07.758', 'Denis Rouzaud', '2023-09-07 09:20:13.349', 'Denis Rouzaud', false, 'RIGHT'); +INSERT INTO signalo_db.frame (id, fk_azimut, rank, fk_frame_type, fk_frame_fixing_type, double_sided, fk_status, fk_provider, comment, picture, dimension_1, dimension_2, usr_frame_1, usr_frame_2, usr_frame_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, anchor_point) VALUES ('0e2decbd-06fa-459e-80af-a13a54e67e52', '0d8fb844-ec63-43fb-a0e5-cd35a0c62565', 1, NULL, NULL, false, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2023-09-06 09:22:23.311', 'Denis Rouzaud', '2023-09-06 09:22:23.311', 'Denis Rouzaud', false, 'RIGHT'); +INSERT INTO signalo_db.frame (id, fk_azimut, rank, fk_frame_type, fk_frame_fixing_type, double_sided, fk_status, fk_provider, comment, picture, dimension_1, dimension_2, usr_frame_1, usr_frame_2, usr_frame_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, anchor_point) VALUES ('19d4cf98-0927-11eb-b4e5-0242ac110002', 'dd9e3482-089b-11eb-8b8b-0242ac110002', 1, 10, NULL, false, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2023-02-22 08:31:38.098692', NULL, '2023-02-22 08:31:38.098692', NULL, false, 'CENTER'); +INSERT INTO signalo_db.frame (id, fk_azimut, rank, fk_frame_type, fk_frame_fixing_type, double_sided, fk_status, fk_provider, comment, picture, dimension_1, dimension_2, usr_frame_1, usr_frame_2, usr_frame_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, anchor_point) VALUES ('1d945e23-3ba7-4a34-b3df-c9ac17b9827e', '0d8fb844-ec63-43fb-a0e5-cd35a0c62565', 2, NULL, NULL, false, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2023-09-06 09:23:15.419', 'Denis Rouzaud', '2023-09-06 09:23:15.419', 'Denis Rouzaud', false, 'LEFT'); +INSERT INTO signalo_db.frame (id, fk_azimut, rank, fk_frame_type, fk_frame_fixing_type, double_sided, fk_status, fk_provider, comment, picture, dimension_1, dimension_2, usr_frame_1, usr_frame_2, usr_frame_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, anchor_point) VALUES ('348fc524-cc99-41c4-8780-2f7e4d2ff919', 'e136f7a0-5913-48bb-8893-1b4b0705f238', 1, NULL, NULL, false, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2023-06-21 08:36:24.53', 'Denis Rouzaud', '2023-06-21 08:36:24.53', 'Denis Rouzaud', false, 'CENTER'); +INSERT INTO signalo_db.frame (id, fk_azimut, rank, fk_frame_type, fk_frame_fixing_type, double_sided, fk_status, fk_provider, comment, picture, dimension_1, dimension_2, usr_frame_1, usr_frame_2, usr_frame_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, anchor_point) VALUES ('3c7fe8c4-d4bf-481c-9bb6-cfbe89c5c103', '9dcc763a-1af7-4fb8-9e32-085f74a3ef77', 1, NULL, NULL, false, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2023-09-07 09:36:54.427', 'Denis Rouzaud', '2023-09-07 09:36:54.427', 'Denis Rouzaud', false, 'CENTER'); +INSERT INTO signalo_db.frame (id, fk_azimut, rank, fk_frame_type, fk_frame_fixing_type, double_sided, fk_status, fk_provider, comment, picture, dimension_1, dimension_2, usr_frame_1, usr_frame_2, usr_frame_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, anchor_point) VALUES ('5a42808a-9610-4a2e-b207-fd34c8211baa', '9dcc763a-1af7-4fb8-9e32-085f74a3ef77', 2, NULL, NULL, false, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2023-09-07 09:39:40.71', 'Denis Rouzaud', '2023-09-07 09:39:40.71', 'Denis Rouzaud', false, 'CENTER'); +INSERT INTO signalo_db.frame (id, fk_azimut, rank, fk_frame_type, fk_frame_fixing_type, double_sided, fk_status, fk_provider, comment, picture, dimension_1, dimension_2, usr_frame_1, usr_frame_2, usr_frame_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, anchor_point) VALUES ('642de2ea-089c-11eb-b19a-0242ac110002', 'dd9e3482-089b-11eb-8b8b-0242ac110002', 2, 3, 11, false, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2023-02-22 08:31:38.118357', NULL, '2023-02-22 08:31:38.118357', NULL, false, 'CENTER'); +INSERT INTO signalo_db.frame (id, fk_azimut, rank, fk_frame_type, fk_frame_fixing_type, double_sided, fk_status, fk_provider, comment, picture, dimension_1, dimension_2, usr_frame_1, usr_frame_2, usr_frame_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, anchor_point) VALUES ('68cb0b0b-2082-49cc-bf6d-b106c861dada', '9dcc763a-1af7-4fb8-9e32-085f74a3ef77', 3, NULL, NULL, true, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2023-09-07 09:42:33.329', 'Denis Rouzaud', '2023-09-07 09:42:33.329', 'Denis Rouzaud', false, 'CENTER'); +INSERT INTO signalo_db.frame (id, fk_azimut, rank, fk_frame_type, fk_frame_fixing_type, double_sided, fk_status, fk_provider, comment, picture, dimension_1, dimension_2, usr_frame_1, usr_frame_2, usr_frame_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, anchor_point) VALUES ('75f4bf9f-5f5e-4362-a4ce-fb29bb8c0123', 'b3fd2055-2ab4-4da8-9dbc-a3aeba311fe7', 2, NULL, NULL, false, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2023-08-31 16:19:50.073', 'Denis Rouzaud', '2023-08-31 16:19:50.074', 'Denis Rouzaud', false, 'CENTER'); +INSERT INTO signalo_db.frame (id, fk_azimut, rank, fk_frame_type, fk_frame_fixing_type, double_sided, fk_status, fk_provider, comment, picture, dimension_1, dimension_2, usr_frame_1, usr_frame_2, usr_frame_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, anchor_point) VALUES ('a088c423-b088-4306-8b7f-a3b1151682ec', '55ffc93c-fd0f-4c67-8fe7-da217124a793', 1, NULL, NULL, false, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2023-09-06 09:22:23.311', 'Denis Rouzaud', '2023-11-08 13:28:04.949', 'Rouzaud Denis', false, 'RIGHT'); +INSERT INTO signalo_db.frame (id, fk_azimut, rank, fk_frame_type, fk_frame_fixing_type, double_sided, fk_status, fk_provider, comment, picture, dimension_1, dimension_2, usr_frame_1, usr_frame_2, usr_frame_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, anchor_point) VALUES ('a49c33b0-0926-11eb-b4e5-0242ac110002', 'dd9e3482-089b-11eb-8b8b-0242ac110002', 3, 12, 2, false, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2023-02-22 08:31:38.152963', NULL, '2023-02-22 08:31:38.152963', NULL, false, 'CENTER'); +INSERT INTO signalo_db.frame (id, fk_azimut, rank, fk_frame_type, fk_frame_fixing_type, double_sided, fk_status, fk_provider, comment, picture, dimension_1, dimension_2, usr_frame_1, usr_frame_2, usr_frame_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, anchor_point) VALUES ('a899745b-f562-47ca-9175-ef2e19ac18de', 'b3fd2055-2ab4-4da8-9dbc-a3aeba311fe7', 1, NULL, NULL, true, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2023-08-31 16:16:15.957', 'Denis Rouzaud', '2023-08-31 16:20:57.428', 'Denis Rouzaud', false, 'CENTER'); +INSERT INTO signalo_db.frame (id, fk_azimut, rank, fk_frame_type, fk_frame_fixing_type, double_sided, fk_status, fk_provider, comment, picture, dimension_1, dimension_2, usr_frame_1, usr_frame_2, usr_frame_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, anchor_point) VALUES ('bc6eb427-308e-4ff2-a94a-c1a2be2fc5af', '0e2cd688-3984-46b5-9f70-e052305e2cac', 1, 10, NULL, false, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2023-02-22 10:07:20.883', 'Denis Rouzaud', '2023-02-22 10:07:20.883', 'Denis Rouzaud', false, 'CENTER'); +INSERT INTO signalo_db.frame (id, fk_azimut, rank, fk_frame_type, fk_frame_fixing_type, double_sided, fk_status, fk_provider, comment, picture, dimension_1, dimension_2, usr_frame_1, usr_frame_2, usr_frame_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, anchor_point) VALUES ('c167ced0-efb2-4874-9816-1707f3b6ffec', 'd8a1e45b-7f4c-4c71-a12a-3a2df6d42045', 1, NULL, NULL, false, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2023-11-08 13:29:16.487', 'Rouzaud Denis', '2023-11-08 13:31:10.687', 'Rouzaud Denis', false, 'LEFT'); +INSERT INTO signalo_db.frame (id, fk_azimut, rank, fk_frame_type, fk_frame_fixing_type, double_sided, fk_status, fk_provider, comment, picture, dimension_1, dimension_2, usr_frame_1, usr_frame_2, usr_frame_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, anchor_point) VALUES ('da131ba0-42ed-4a60-a13d-ac35cea9edc5', 'bbb63098-ee04-4a0d-963d-4df18af5fa7a', 1, NULL, NULL, false, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2023-09-06 09:22:23.311', 'Denis Rouzaud', '2023-09-06 09:27:48.611', 'Denis Rouzaud', false, 'RIGHT'); +INSERT INTO signalo_db.frame (id, fk_azimut, rank, fk_frame_type, fk_frame_fixing_type, double_sided, fk_status, fk_provider, comment, picture, dimension_1, dimension_2, usr_frame_1, usr_frame_2, usr_frame_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, anchor_point) VALUES ('fdc08784-e5a6-4b0a-a299-2cc3e67a0079', '55ffc93c-fd0f-4c67-8fe7-da217124a793', 2, NULL, NULL, false, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2023-09-06 09:23:15.419', 'Denis Rouzaud', '2023-11-08 13:28:04.973', 'Rouzaud Denis', false, 'LEFT'); diff --git a/data_model/demo_data/sign_content.sql b/data_model/demo_data/sign_content.sql index 82d9dde2..1896efcd 100644 --- a/data_model/demo_data/sign_content.sql +++ b/data_model/demo_data/sign_content.sql @@ -1,46 +1,30 @@ -INSERT INTO signalo_db.sign (id, fk_frame, rank, verso, complex, fk_sign_type, fk_official_sign, fk_marker_type, fk_mirror_shape, fk_parent, fk_owner, fk_provider, fk_durability, fk_status, installation_date, manufacturing_date, case_id, case_decision, inscription_1, inscription_2, inscription_3, fk_coating, fk_lighting, comment, picture, mirror_protruding, mirror_red_frame, dimension_1, dimension_2, usr_sign_1, usr_sign_2, usr_sign_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, fk_user_sign) VALUES ('00000000-0000-0000-eeee-000001010101', '00000000-0000-0000-ffff-000000010101', 1, false, false, 11, '1.01', NULL, NULL, NULL, NULL, NULL, 1, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'this-is-the-way.jpg', false, false, NULL, NULL, NULL, NULL, NULL, '2023-02-22 08:31:38.348208', NULL, '2023-02-22 08:31:38.348208', NULL, false, NULL); -INSERT INTO signalo_db.sign (id, fk_frame, rank, verso, complex, fk_sign_type, fk_official_sign, fk_marker_type, fk_mirror_shape, fk_parent, fk_owner, fk_provider, fk_durability, fk_status, installation_date, manufacturing_date, case_id, case_decision, inscription_1, inscription_2, inscription_3, fk_coating, fk_lighting, comment, picture, mirror_protruding, mirror_red_frame, dimension_1, dimension_2, usr_sign_1, usr_sign_2, usr_sign_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, fk_user_sign) VALUES ('00000000-0000-0000-eeee-000001010102', '00000000-0000-0000-ffff-000000010101', 2, false, false, 11, '4.52', NULL, NULL, NULL, NULL, NULL, 1, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, false, NULL, NULL, NULL, NULL, NULL, '2023-02-22 08:31:38.354809', NULL, '2023-02-22 08:31:38.354809', NULL, false, NULL); -INSERT INTO signalo_db.sign (id, fk_frame, rank, verso, complex, fk_sign_type, fk_official_sign, fk_marker_type, fk_mirror_shape, fk_parent, fk_owner, fk_provider, fk_durability, fk_status, installation_date, manufacturing_date, case_id, case_decision, inscription_1, inscription_2, inscription_3, fk_coating, fk_lighting, comment, picture, mirror_protruding, mirror_red_frame, dimension_1, dimension_2, usr_sign_1, usr_sign_2, usr_sign_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, fk_user_sign) VALUES ('00000000-0000-0000-eeee-000001010201', '00000000-0000-0000-ffff-000000010102', 1, false, false, 11, '1.03', NULL, NULL, NULL, '811a5b2a-0894-11eb-adef-0242ac110002', NULL, 1, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, false, NULL, NULL, NULL, NULL, NULL, '2023-02-22 08:31:38.357243', NULL, '2023-02-22 08:31:38.357243', NULL, false, NULL); -INSERT INTO signalo_db.sign (id, fk_frame, rank, verso, complex, fk_sign_type, fk_official_sign, fk_marker_type, fk_mirror_shape, fk_parent, fk_owner, fk_provider, fk_durability, fk_status, installation_date, manufacturing_date, case_id, case_decision, inscription_1, inscription_2, inscription_3, fk_coating, fk_lighting, comment, picture, mirror_protruding, mirror_red_frame, dimension_1, dimension_2, usr_sign_1, usr_sign_2, usr_sign_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, fk_user_sign) VALUES ('00000000-0000-0000-eeee-000001020101', '00000000-0000-0000-ffff-000000010201', 1, false, false, 11, '1.14', NULL, NULL, NULL, NULL, NULL, 1, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, false, NULL, NULL, NULL, NULL, NULL, '2023-02-22 08:31:38.360301', NULL, '2023-02-22 08:31:38.360301', NULL, false, NULL); -INSERT INTO signalo_db.sign (id, fk_frame, rank, verso, complex, fk_sign_type, fk_official_sign, fk_marker_type, fk_mirror_shape, fk_parent, fk_owner, fk_provider, fk_durability, fk_status, installation_date, manufacturing_date, case_id, case_decision, inscription_1, inscription_2, inscription_3, fk_coating, fk_lighting, comment, picture, mirror_protruding, mirror_red_frame, dimension_1, dimension_2, usr_sign_1, usr_sign_2, usr_sign_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, fk_user_sign) VALUES ('00000000-0000-0000-eeee-000001020201', '00000000-0000-0000-ffff-000000010202', 1, false, false, 11, '1.25a', NULL, NULL, NULL, NULL, NULL, 1, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, false, NULL, NULL, NULL, NULL, NULL, '2023-02-22 08:31:38.362079', NULL, '2023-02-22 08:31:38.362079', NULL, false, NULL); -INSERT INTO signalo_db.sign (id, fk_frame, rank, verso, complex, fk_sign_type, fk_official_sign, fk_marker_type, fk_mirror_shape, fk_parent, fk_owner, fk_provider, fk_durability, fk_status, installation_date, manufacturing_date, case_id, case_decision, inscription_1, inscription_2, inscription_3, fk_coating, fk_lighting, comment, picture, mirror_protruding, mirror_red_frame, dimension_1, dimension_2, usr_sign_1, usr_sign_2, usr_sign_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, fk_user_sign) VALUES ('00000000-0000-0000-eeee-000001020301', '00000000-0000-0000-ffff-000000010203', 1, false, false, 11, '5.10', NULL, NULL, NULL, NULL, NULL, 1, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, false, NULL, NULL, NULL, NULL, NULL, '2023-02-22 08:31:38.364758', NULL, '2023-02-22 08:31:38.364758', NULL, false, NULL); -INSERT INTO signalo_db.sign (id, fk_frame, rank, verso, complex, fk_sign_type, fk_official_sign, fk_marker_type, fk_mirror_shape, fk_parent, fk_owner, fk_provider, fk_durability, fk_status, installation_date, manufacturing_date, case_id, case_decision, inscription_1, inscription_2, inscription_3, fk_coating, fk_lighting, comment, picture, mirror_protruding, mirror_red_frame, dimension_1, dimension_2, usr_sign_1, usr_sign_2, usr_sign_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, fk_user_sign) VALUES ('00000000-0000-0000-eeee-000001030101', '00000000-0000-0000-ffff-000000010301', 1, false, false, 11, '2.15.1', NULL, NULL, NULL, NULL, NULL, 1, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, false, NULL, NULL, NULL, NULL, NULL, '2023-02-22 08:31:38.366977', NULL, '2023-02-22 08:31:38.366977', NULL, false, NULL); -INSERT INTO signalo_db.sign (id, fk_frame, rank, verso, complex, fk_sign_type, fk_official_sign, fk_marker_type, fk_mirror_shape, fk_parent, fk_owner, fk_provider, fk_durability, fk_status, installation_date, manufacturing_date, case_id, case_decision, inscription_1, inscription_2, inscription_3, fk_coating, fk_lighting, comment, picture, mirror_protruding, mirror_red_frame, dimension_1, dimension_2, usr_sign_1, usr_sign_2, usr_sign_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, fk_user_sign) VALUES ('00000000-0000-0000-eeee-000001030201', '00000000-0000-0000-ffff-000000010302', 1, false, false, 11, '2.16', NULL, NULL, NULL, NULL, NULL, 1, 1, NULL, NULL, NULL, NULL, '2,2', NULL, NULL, NULL, NULL, NULL, NULL, false, false, NULL, NULL, NULL, NULL, NULL, '2023-02-22 08:31:38.369133', NULL, '2023-02-22 08:31:38.369133', NULL, false, NULL); -INSERT INTO signalo_db.sign (id, fk_frame, rank, verso, complex, fk_sign_type, fk_official_sign, fk_marker_type, fk_mirror_shape, fk_parent, fk_owner, fk_provider, fk_durability, fk_status, installation_date, manufacturing_date, case_id, case_decision, inscription_1, inscription_2, inscription_3, fk_coating, fk_lighting, comment, picture, mirror_protruding, mirror_red_frame, dimension_1, dimension_2, usr_sign_1, usr_sign_2, usr_sign_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, fk_user_sign) VALUES ('00000000-0000-0000-eeee-000002010101', '00000000-0000-0000-ffff-000000020101', 1, false, false, 11, '1.01', NULL, NULL, NULL, NULL, NULL, 1, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, false, NULL, NULL, NULL, NULL, NULL, '2023-02-22 08:31:38.374179', NULL, '2023-02-22 08:31:38.374179', NULL, false, NULL); -INSERT INTO signalo_db.sign (id, fk_frame, rank, verso, complex, fk_sign_type, fk_official_sign, fk_marker_type, fk_mirror_shape, fk_parent, fk_owner, fk_provider, fk_durability, fk_status, installation_date, manufacturing_date, case_id, case_decision, inscription_1, inscription_2, inscription_3, fk_coating, fk_lighting, comment, picture, mirror_protruding, mirror_red_frame, dimension_1, dimension_2, usr_sign_1, usr_sign_2, usr_sign_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, fk_user_sign) VALUES ('00000000-0000-0000-eeee-000002020101', '00000000-0000-0000-ffff-000000020201', 1, false, false, 11, '4.52', NULL, NULL, NULL, NULL, NULL, 1, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, false, NULL, NULL, NULL, NULL, NULL, '2023-02-22 08:31:38.375723', NULL, '2023-02-22 08:31:38.375723', NULL, false, NULL); -INSERT INTO signalo_db.sign (id, fk_frame, rank, verso, complex, fk_sign_type, fk_official_sign, fk_marker_type, fk_mirror_shape, fk_parent, fk_owner, fk_provider, fk_durability, fk_status, installation_date, manufacturing_date, case_id, case_decision, inscription_1, inscription_2, inscription_3, fk_coating, fk_lighting, comment, picture, mirror_protruding, mirror_red_frame, dimension_1, dimension_2, usr_sign_1, usr_sign_2, usr_sign_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, fk_user_sign) VALUES ('00000000-0000-0000-eeee-000002020201', '00000000-0000-0000-ffff-000000020202', 1, false, false, 11, '1.03', NULL, NULL, NULL, '811a5b2a-0894-11eb-adef-0242ac110002', NULL, 1, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, false, NULL, NULL, NULL, NULL, NULL, '2023-02-22 08:31:38.381531', NULL, '2023-02-22 08:31:38.381531', NULL, false, NULL); -INSERT INTO signalo_db.sign (id, fk_frame, rank, verso, complex, fk_sign_type, fk_official_sign, fk_marker_type, fk_mirror_shape, fk_parent, fk_owner, fk_provider, fk_durability, fk_status, installation_date, manufacturing_date, case_id, case_decision, inscription_1, inscription_2, inscription_3, fk_coating, fk_lighting, comment, picture, mirror_protruding, mirror_red_frame, dimension_1, dimension_2, usr_sign_1, usr_sign_2, usr_sign_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, fk_user_sign) VALUES ('00000000-0000-0000-eeee-000002020202', '00000000-0000-0000-ffff-000000020202', 2, false, false, 11, '1.14', NULL, NULL, NULL, '811a5b2a-0894-11eb-adef-0242ac110002', NULL, 1, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, false, NULL, NULL, NULL, NULL, NULL, '2023-02-22 08:31:38.383483', NULL, '2023-02-22 08:31:38.383483', NULL, false, NULL); -INSERT INTO signalo_db.sign (id, fk_frame, rank, verso, complex, fk_sign_type, fk_official_sign, fk_marker_type, fk_mirror_shape, fk_parent, fk_owner, fk_provider, fk_durability, fk_status, installation_date, manufacturing_date, case_id, case_decision, inscription_1, inscription_2, inscription_3, fk_coating, fk_lighting, comment, picture, mirror_protruding, mirror_red_frame, dimension_1, dimension_2, usr_sign_1, usr_sign_2, usr_sign_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, fk_user_sign) VALUES ('00000000-0000-0000-eeee-000002020203', '00000000-0000-0000-ffff-000000020202', 3, false, false, 11, '1.14', NULL, NULL, NULL, NULL, NULL, 1, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, false, NULL, NULL, NULL, NULL, NULL, '2023-02-22 08:31:38.385582', NULL, '2023-02-22 08:31:38.385582', NULL, false, NULL); -INSERT INTO signalo_db.sign (id, fk_frame, rank, verso, complex, fk_sign_type, fk_official_sign, fk_marker_type, fk_mirror_shape, fk_parent, fk_owner, fk_provider, fk_durability, fk_status, installation_date, manufacturing_date, case_id, case_decision, inscription_1, inscription_2, inscription_3, fk_coating, fk_lighting, comment, picture, mirror_protruding, mirror_red_frame, dimension_1, dimension_2, usr_sign_1, usr_sign_2, usr_sign_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, fk_user_sign) VALUES ('00000000-0000-0000-eeee-000002020301', '00000000-0000-0000-ffff-000000020203', 1, false, false, 11, '1.25a', NULL, NULL, NULL, NULL, NULL, 1, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, false, NULL, NULL, NULL, NULL, NULL, '2023-02-22 08:31:38.387403', NULL, '2023-02-22 08:31:38.387403', NULL, false, NULL); -INSERT INTO signalo_db.sign (id, fk_frame, rank, verso, complex, fk_sign_type, fk_official_sign, fk_marker_type, fk_mirror_shape, fk_parent, fk_owner, fk_provider, fk_durability, fk_status, installation_date, manufacturing_date, case_id, case_decision, inscription_1, inscription_2, inscription_3, fk_coating, fk_lighting, comment, picture, mirror_protruding, mirror_red_frame, dimension_1, dimension_2, usr_sign_1, usr_sign_2, usr_sign_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, fk_user_sign) VALUES ('00000000-0000-0000-eeee-000002020401', '00000000-0000-0000-ffff-000000020204', 1, false, false, 11, '1.30', NULL, NULL, NULL, NULL, NULL, 1, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, false, NULL, NULL, NULL, NULL, NULL, '2023-02-22 08:31:38.389932', NULL, '2023-02-22 08:31:38.389932', NULL, false, NULL); -INSERT INTO signalo_db.sign (id, fk_frame, rank, verso, complex, fk_sign_type, fk_official_sign, fk_marker_type, fk_mirror_shape, fk_parent, fk_owner, fk_provider, fk_durability, fk_status, installation_date, manufacturing_date, case_id, case_decision, inscription_1, inscription_2, inscription_3, fk_coating, fk_lighting, comment, picture, mirror_protruding, mirror_red_frame, dimension_1, dimension_2, usr_sign_1, usr_sign_2, usr_sign_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, fk_user_sign) VALUES ('00000000-0000-0000-eeee-000012020201', '00000000-0000-0000-ffff-000000020202', 1, true, false, 11, '1.30', NULL, NULL, NULL, NULL, NULL, 1, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, false, NULL, NULL, NULL, NULL, NULL, '2023-02-22 08:31:38.392028', NULL, '2023-02-22 08:31:38.392028', NULL, false, NULL); -INSERT INTO signalo_db.sign (id, fk_frame, rank, verso, complex, fk_sign_type, fk_official_sign, fk_marker_type, fk_mirror_shape, fk_parent, fk_owner, fk_provider, fk_durability, fk_status, installation_date, manufacturing_date, case_id, case_decision, inscription_1, inscription_2, inscription_3, fk_coating, fk_lighting, comment, picture, mirror_protruding, mirror_red_frame, dimension_1, dimension_2, usr_sign_1, usr_sign_2, usr_sign_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, fk_user_sign) VALUES ('00000000-0000-0000-eeee-000012020202', '00000000-0000-0000-ffff-000000020202', 2, true, false, 11, '1.30', NULL, NULL, NULL, NULL, NULL, 1, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, false, NULL, NULL, NULL, NULL, NULL, '2023-02-22 08:31:38.398225', NULL, '2023-02-22 08:31:38.398225', NULL, false, NULL); -INSERT INTO signalo_db.sign (id, fk_frame, rank, verso, complex, fk_sign_type, fk_official_sign, fk_marker_type, fk_mirror_shape, fk_parent, fk_owner, fk_provider, fk_durability, fk_status, installation_date, manufacturing_date, case_id, case_decision, inscription_1, inscription_2, inscription_3, fk_coating, fk_lighting, comment, picture, mirror_protruding, mirror_red_frame, dimension_1, dimension_2, usr_sign_1, usr_sign_2, usr_sign_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, fk_user_sign) VALUES ('00000000-0000-0000-eeee-000012020203', '00000000-0000-0000-ffff-000000020203', 1, true, false, 11, '1.30', NULL, NULL, NULL, NULL, NULL, 1, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, false, NULL, NULL, NULL, NULL, NULL, '2023-02-22 08:31:38.400285', NULL, '2023-02-22 08:31:38.400285', NULL, false, NULL); -INSERT INTO signalo_db.sign (id, fk_frame, rank, verso, complex, fk_sign_type, fk_official_sign, fk_marker_type, fk_mirror_shape, fk_parent, fk_owner, fk_provider, fk_durability, fk_status, installation_date, manufacturing_date, case_id, case_decision, inscription_1, inscription_2, inscription_3, fk_coating, fk_lighting, comment, picture, mirror_protruding, mirror_red_frame, dimension_1, dimension_2, usr_sign_1, usr_sign_2, usr_sign_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, fk_user_sign) VALUES ('00000000-0000-0000-eeee-000021030202', '00000000-0000-0000-ffff-000000010302', 2, true, false, 11, '2.16', NULL, NULL, NULL, NULL, NULL, 1, 1, NULL, NULL, NULL, NULL, '2,2', NULL, NULL, NULL, NULL, NULL, NULL, false, false, NULL, NULL, NULL, NULL, NULL, '2023-02-22 08:31:38.370916', NULL, '2023-02-22 08:31:38.370916', NULL, false, NULL); -INSERT INTO signalo_db.sign (id, fk_frame, rank, verso, complex, fk_sign_type, fk_official_sign, fk_marker_type, fk_mirror_shape, fk_parent, fk_owner, fk_provider, fk_durability, fk_status, installation_date, manufacturing_date, case_id, case_decision, inscription_1, inscription_2, inscription_3, fk_coating, fk_lighting, comment, picture, mirror_protruding, mirror_red_frame, dimension_1, dimension_2, usr_sign_1, usr_sign_2, usr_sign_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, fk_user_sign) VALUES ('00000000-0000-0000-eeee-000021030203', '00000000-0000-0000-ffff-000000010302', 3, false, false, 11, '2.15', NULL, NULL, NULL, NULL, NULL, 1, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, false, NULL, NULL, NULL, NULL, NULL, '2023-02-22 08:31:38.372687', NULL, '2023-02-22 08:31:38.372687', NULL, false, NULL); -INSERT INTO signalo_db.sign (id, fk_frame, rank, verso, complex, fk_sign_type, fk_official_sign, fk_marker_type, fk_mirror_shape, fk_parent, fk_owner, fk_provider, fk_durability, fk_status, installation_date, manufacturing_date, case_id, case_decision, inscription_1, inscription_2, inscription_3, fk_coating, fk_lighting, comment, picture, mirror_protruding, mirror_red_frame, dimension_1, dimension_2, usr_sign_1, usr_sign_2, usr_sign_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, fk_user_sign) VALUES ('08010740-092d-11eb-8dbb-0242ac110002', '0800ffca-092d-11eb-8dbb-0242ac110002', 1, false, false, 11, '2.04', NULL, NULL, NULL, '811a5b2a-0894-11eb-adef-0242ac110002', NULL, 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 11, 10, NULL, NULL, false, false, NULL, NULL, NULL, NULL, NULL, '2023-02-22 08:31:38.402626', NULL, '2023-02-22 08:31:38.402626', NULL, false, NULL); -INSERT INTO signalo_db.sign (id, fk_frame, rank, verso, complex, fk_sign_type, fk_official_sign, fk_marker_type, fk_mirror_shape, fk_parent, fk_owner, fk_provider, fk_durability, fk_status, installation_date, manufacturing_date, case_id, case_decision, inscription_1, inscription_2, inscription_3, fk_coating, fk_lighting, comment, picture, mirror_protruding, mirror_red_frame, dimension_1, dimension_2, usr_sign_1, usr_sign_2, usr_sign_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, fk_user_sign) VALUES ('0bd49b06-7cce-11eb-bb0b-0242ac110002', '00000000-0000-0000-ffff-000000010101', 3, false, false, 11, '1.04', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, false, NULL, NULL, NULL, NULL, NULL, '2023-02-22 08:31:38.40854', NULL, '2023-02-22 08:31:38.40854', NULL, false, NULL); -INSERT INTO signalo_db.sign (id, fk_frame, rank, verso, complex, fk_sign_type, fk_official_sign, fk_marker_type, fk_mirror_shape, fk_parent, fk_owner, fk_provider, fk_durability, fk_status, installation_date, manufacturing_date, case_id, case_decision, inscription_1, inscription_2, inscription_3, fk_coating, fk_lighting, comment, picture, mirror_protruding, mirror_red_frame, dimension_1, dimension_2, usr_sign_1, usr_sign_2, usr_sign_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, fk_user_sign) VALUES ('0fa35de2-0930-11eb-8dbb-0242ac110002', '0fa35720-0930-11eb-8dbb-0242ac110002', 2, false, false, 11, '1.29', NULL, NULL, NULL, '811a5b2a-0894-11eb-adef-0242ac110002', NULL, 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 11, NULL, NULL, NULL, false, false, NULL, NULL, NULL, NULL, NULL, '2023-02-22 08:31:38.410627', NULL, '2023-02-22 08:31:38.410627', NULL, false, NULL); -INSERT INTO signalo_db.sign (id, fk_frame, rank, verso, complex, fk_sign_type, fk_official_sign, fk_marker_type, fk_mirror_shape, fk_parent, fk_owner, fk_provider, fk_durability, fk_status, installation_date, manufacturing_date, case_id, case_decision, inscription_1, inscription_2, inscription_3, fk_coating, fk_lighting, comment, picture, mirror_protruding, mirror_red_frame, dimension_1, dimension_2, usr_sign_1, usr_sign_2, usr_sign_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, fk_user_sign) VALUES ('12345678-092e-11eb-8dbb-0242ac110002', 'f588634a-092e-11eb-8dbb-0242ac110002', 2, false, false, 13, NULL, NULL, NULL, NULL, '811a5b2a-0894-11eb-adef-0242ac110002', NULL, 1, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1, 2, NULL, NULL, false, false, NULL, NULL, NULL, NULL, NULL, '2023-02-22 08:31:38.646363', NULL, '2023-02-22 08:31:38.646363', NULL, false, NULL); -INSERT INTO signalo_db.sign (id, fk_frame, rank, verso, complex, fk_sign_type, fk_official_sign, fk_marker_type, fk_mirror_shape, fk_parent, fk_owner, fk_provider, fk_durability, fk_status, installation_date, manufacturing_date, case_id, case_decision, inscription_1, inscription_2, inscription_3, fk_coating, fk_lighting, comment, picture, mirror_protruding, mirror_red_frame, dimension_1, dimension_2, usr_sign_1, usr_sign_2, usr_sign_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, fk_user_sign) VALUES ('19d4da92-0927-11eb-b4e5-0242ac110002', '19d4cf98-0927-11eb-b4e5-0242ac110002', 3, false, false, 11, '2.59.5', NULL, NULL, NULL, '811a5b2a-0894-11eb-adef-0242ac110002', NULL, NULL, 2, NULL, '2020-10-08', NULL, NULL, NULL, NULL, NULL, 11, NULL, NULL, NULL, false, false, NULL, NULL, NULL, NULL, NULL, '2023-02-22 08:31:38.423203', NULL, '2023-02-22 08:31:38.423203', NULL, false, NULL); -INSERT INTO signalo_db.sign (id, fk_frame, rank, verso, complex, fk_sign_type, fk_official_sign, fk_marker_type, fk_mirror_shape, fk_parent, fk_owner, fk_provider, fk_durability, fk_status, installation_date, manufacturing_date, case_id, case_decision, inscription_1, inscription_2, inscription_3, fk_coating, fk_lighting, comment, picture, mirror_protruding, mirror_red_frame, dimension_1, dimension_2, usr_sign_1, usr_sign_2, usr_sign_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, fk_user_sign) VALUES ('1b03a8ac-092d-11eb-8dbb-0242ac110002', '1b03a136-092d-11eb-8dbb-0242ac110002', 2, false, false, 11, '2.12', NULL, NULL, NULL, '811a5b2a-0894-11eb-adef-0242ac110002', NULL, 2, 3, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 3, 2, NULL, NULL, false, false, NULL, NULL, NULL, NULL, NULL, '2023-02-22 08:31:38.425463', NULL, '2023-02-22 08:31:38.425463', NULL, false, NULL); -INSERT INTO signalo_db.sign (id, fk_frame, rank, verso, complex, fk_sign_type, fk_official_sign, fk_marker_type, fk_mirror_shape, fk_parent, fk_owner, fk_provider, fk_durability, fk_status, installation_date, manufacturing_date, case_id, case_decision, inscription_1, inscription_2, inscription_3, fk_coating, fk_lighting, comment, picture, mirror_protruding, mirror_red_frame, dimension_1, dimension_2, usr_sign_1, usr_sign_2, usr_sign_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, fk_user_sign) VALUES ('24bc59ee-096d-11eb-83b3-0242ac110002', '24bc1524-096d-11eb-83b3-0242ac110002', 3, false, false, 11, '4.49-r', NULL, NULL, NULL, '811a5b2a-0894-11eb-adef-0242ac110002', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, false, NULL, NULL, NULL, NULL, NULL, '2023-02-22 08:31:38.427398', NULL, '2023-02-22 08:31:38.427398', NULL, false, NULL); -INSERT INTO signalo_db.sign (id, fk_frame, rank, verso, complex, fk_sign_type, fk_official_sign, fk_marker_type, fk_mirror_shape, fk_parent, fk_owner, fk_provider, fk_durability, fk_status, installation_date, manufacturing_date, case_id, case_decision, inscription_1, inscription_2, inscription_3, fk_coating, fk_lighting, comment, picture, mirror_protruding, mirror_red_frame, dimension_1, dimension_2, usr_sign_1, usr_sign_2, usr_sign_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, fk_user_sign) VALUES ('2f6ed9c6-0930-11eb-8dbb-0242ac110002', '2f6ed0a2-0930-11eb-8dbb-0242ac110002', 1, false, false, 11, '1.28', NULL, NULL, NULL, '811a5b2a-0894-11eb-adef-0242ac110002', NULL, 3, 2, '2020-10-13', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, false, NULL, NULL, NULL, NULL, NULL, '2023-02-22 08:31:38.442872', NULL, '2023-02-22 08:31:38.442872', NULL, false, NULL); -INSERT INTO signalo_db.sign (id, fk_frame, rank, verso, complex, fk_sign_type, fk_official_sign, fk_marker_type, fk_mirror_shape, fk_parent, fk_owner, fk_provider, fk_durability, fk_status, installation_date, manufacturing_date, case_id, case_decision, inscription_1, inscription_2, inscription_3, fk_coating, fk_lighting, comment, picture, mirror_protruding, mirror_red_frame, dimension_1, dimension_2, usr_sign_1, usr_sign_2, usr_sign_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, fk_user_sign) VALUES ('3212d93b-092c-11eb-8dbb-0242ac110002', '652f9252-092c-11eb-8dbb-0242ac110002', 3, false, false, 11, '4.32-1-l', NULL, NULL, NULL, '811a5b2a-0894-11eb-adef-0242ac110002', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'Genève', NULL, NULL, NULL, NULL, NULL, NULL, false, false, NULL, NULL, NULL, NULL, NULL, '2023-02-22 08:31:38.561229', NULL, '2023-02-22 08:31:38.561229', NULL, false, NULL); -INSERT INTO signalo_db.sign (id, fk_frame, rank, verso, complex, fk_sign_type, fk_official_sign, fk_marker_type, fk_mirror_shape, fk_parent, fk_owner, fk_provider, fk_durability, fk_status, installation_date, manufacturing_date, case_id, case_decision, inscription_1, inscription_2, inscription_3, fk_coating, fk_lighting, comment, picture, mirror_protruding, mirror_red_frame, dimension_1, dimension_2, usr_sign_1, usr_sign_2, usr_sign_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, fk_user_sign) VALUES ('33efb480-7ccf-11eb-983b-0242ac110002', '00000000-0000-0000-ffff-000000010101', 4, false, false, 11, '1.23', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, false, NULL, NULL, NULL, NULL, NULL, '2023-02-22 08:31:38.454277', NULL, '2023-02-22 08:31:38.454277', NULL, false, NULL); -INSERT INTO signalo_db.sign (id, fk_frame, rank, verso, complex, fk_sign_type, fk_official_sign, fk_marker_type, fk_mirror_shape, fk_parent, fk_owner, fk_provider, fk_durability, fk_status, installation_date, manufacturing_date, case_id, case_decision, inscription_1, inscription_2, inscription_3, fk_coating, fk_lighting, comment, picture, mirror_protruding, mirror_red_frame, dimension_1, dimension_2, usr_sign_1, usr_sign_2, usr_sign_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, fk_user_sign) VALUES ('46d03c86-0930-11eb-8dbb-0242ac110002', '46d03498-0930-11eb-8dbb-0242ac110002', 2, false, false, 11, '2.44', NULL, NULL, NULL, '811a5b2a-0894-11eb-adef-0242ac110002', NULL, 2, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1, 3, NULL, NULL, false, false, NULL, NULL, NULL, NULL, NULL, '2023-02-22 08:31:38.456573', NULL, '2023-02-22 08:31:38.456573', NULL, false, NULL); -INSERT INTO signalo_db.sign (id, fk_frame, rank, verso, complex, fk_sign_type, fk_official_sign, fk_marker_type, fk_mirror_shape, fk_parent, fk_owner, fk_provider, fk_durability, fk_status, installation_date, manufacturing_date, case_id, case_decision, inscription_1, inscription_2, inscription_3, fk_coating, fk_lighting, comment, picture, mirror_protruding, mirror_red_frame, dimension_1, dimension_2, usr_sign_1, usr_sign_2, usr_sign_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, fk_user_sign) VALUES ('48f9d9a8-092c-11eb-8dbb-0242ac110002', '48f98a98-092c-11eb-8dbb-0242ac110002', 1, false, false, 11, '1.13', NULL, NULL, NULL, '811a5b2a-0894-11eb-adef-0242ac110002', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, false, NULL, NULL, NULL, NULL, NULL, '2023-02-22 08:31:38.476772', NULL, '2023-02-22 08:31:38.476772', NULL, false, NULL); -INSERT INTO signalo_db.sign (id, fk_frame, rank, verso, complex, fk_sign_type, fk_official_sign, fk_marker_type, fk_mirror_shape, fk_parent, fk_owner, fk_provider, fk_durability, fk_status, installation_date, manufacturing_date, case_id, case_decision, inscription_1, inscription_2, inscription_3, fk_coating, fk_lighting, comment, picture, mirror_protruding, mirror_red_frame, dimension_1, dimension_2, usr_sign_1, usr_sign_2, usr_sign_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, fk_user_sign) VALUES ('51dda24c-092d-11eb-8dbb-0242ac110002', '51dd9ad6-092d-11eb-8dbb-0242ac110002', 1, false, false, 11, '4.32-1-r', NULL, NULL, NULL, '811a5b2a-0894-11eb-adef-0242ac110002', NULL, 3, 2, '2020-10-09', NULL, NULL, NULL, NULL, NULL, NULL, 1, 2, NULL, NULL, false, false, NULL, NULL, NULL, NULL, NULL, '2023-02-22 08:31:38.481275', NULL, '2023-02-22 08:31:38.481275', NULL, false, NULL); -INSERT INTO signalo_db.sign (id, fk_frame, rank, verso, complex, fk_sign_type, fk_official_sign, fk_marker_type, fk_mirror_shape, fk_parent, fk_owner, fk_provider, fk_durability, fk_status, installation_date, manufacturing_date, case_id, case_decision, inscription_1, inscription_2, inscription_3, fk_coating, fk_lighting, comment, picture, mirror_protruding, mirror_red_frame, dimension_1, dimension_2, usr_sign_1, usr_sign_2, usr_sign_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, fk_user_sign) VALUES ('5217d9aa-092c-11eb-8dbb-0242ac110002', '652f9252-092c-11eb-8dbb-0242ac110002', 4, false, true, 11, '4.54', NULL, NULL, NULL, '811a5b2a-0894-11eb-adef-0242ac110002', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, false, NULL, NULL, NULL, NULL, NULL, '2023-02-22 08:31:38.574621', NULL, '2023-02-22 08:31:38.574621', NULL, false, NULL); -INSERT INTO signalo_db.sign (id, fk_frame, rank, verso, complex, fk_sign_type, fk_official_sign, fk_marker_type, fk_mirror_shape, fk_parent, fk_owner, fk_provider, fk_durability, fk_status, installation_date, manufacturing_date, case_id, case_decision, inscription_1, inscription_2, inscription_3, fk_coating, fk_lighting, comment, picture, mirror_protruding, mirror_red_frame, dimension_1, dimension_2, usr_sign_1, usr_sign_2, usr_sign_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, fk_user_sign) VALUES ('5338d8b8-092e-11eb-8dbb-0242ac110002', '5338d0a2-092e-11eb-8dbb-0242ac110002', 1, false, false, 11, '2.59.1-P', NULL, NULL, NULL, '811a5b2a-0894-11eb-adef-0242ac110002', NULL, 1, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 2, 2, NULL, NULL, false, false, NULL, NULL, NULL, NULL, NULL, '2023-02-22 08:31:38.491862', NULL, '2023-02-22 08:31:38.491862', NULL, false, NULL); -INSERT INTO signalo_db.sign (id, fk_frame, rank, verso, complex, fk_sign_type, fk_official_sign, fk_marker_type, fk_mirror_shape, fk_parent, fk_owner, fk_provider, fk_durability, fk_status, installation_date, manufacturing_date, case_id, case_decision, inscription_1, inscription_2, inscription_3, fk_coating, fk_lighting, comment, picture, mirror_protruding, mirror_red_frame, dimension_1, dimension_2, usr_sign_1, usr_sign_2, usr_sign_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, fk_user_sign) VALUES ('5fe2405c-0930-11eb-8dbb-0242ac110002', '5fe23986-0930-11eb-8dbb-0242ac110002', 3, false, false, 11, '2.35', NULL, NULL, NULL, '811a5b2a-0894-11eb-adef-0242ac110002', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, false, NULL, NULL, NULL, NULL, NULL, '2023-02-22 08:31:38.495133', NULL, '2023-02-22 08:31:38.495133', NULL, false, NULL); -INSERT INTO signalo_db.sign (id, fk_frame, rank, verso, complex, fk_sign_type, fk_official_sign, fk_marker_type, fk_mirror_shape, fk_parent, fk_owner, fk_provider, fk_durability, fk_status, installation_date, manufacturing_date, case_id, case_decision, inscription_1, inscription_2, inscription_3, fk_coating, fk_lighting, comment, picture, mirror_protruding, mirror_red_frame, dimension_1, dimension_2, usr_sign_1, usr_sign_2, usr_sign_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, fk_user_sign) VALUES ('642e4438-089c-11eb-b19a-0242ac110002', '642de2ea-089c-11eb-b19a-0242ac110002', 1, false, false, 11, '1.05', NULL, NULL, NULL, '811a5b2a-0894-11eb-adef-0242ac110002', NULL, 2, 3, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 11, 3, NULL, NULL, false, false, NULL, NULL, NULL, NULL, NULL, '2023-02-22 08:31:38.509558', NULL, '2023-02-22 08:31:38.509558', NULL, false, NULL); -INSERT INTO signalo_db.sign (id, fk_frame, rank, verso, complex, fk_sign_type, fk_official_sign, fk_marker_type, fk_mirror_shape, fk_parent, fk_owner, fk_provider, fk_durability, fk_status, installation_date, manufacturing_date, case_id, case_decision, inscription_1, inscription_2, inscription_3, fk_coating, fk_lighting, comment, picture, mirror_protruding, mirror_red_frame, dimension_1, dimension_2, usr_sign_1, usr_sign_2, usr_sign_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, fk_user_sign) VALUES ('652f9bbc-092c-11eb-8dbb-0242ac110002', '652f9252-092c-11eb-8dbb-0242ac110002', 2, false, false, 11, '4.32-1-r', NULL, NULL, NULL, '811a5b2a-0894-11eb-adef-0242ac110002', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'Lausanne', NULL, NULL, NULL, NULL, NULL, NULL, false, false, NULL, NULL, NULL, NULL, NULL, '2023-02-22 08:31:38.521209', NULL, '2023-02-22 08:31:38.521209', NULL, false, NULL); -INSERT INTO signalo_db.sign (id, fk_frame, rank, verso, complex, fk_sign_type, fk_official_sign, fk_marker_type, fk_mirror_shape, fk_parent, fk_owner, fk_provider, fk_durability, fk_status, installation_date, manufacturing_date, case_id, case_decision, inscription_1, inscription_2, inscription_3, fk_coating, fk_lighting, comment, picture, mirror_protruding, mirror_red_frame, dimension_1, dimension_2, usr_sign_1, usr_sign_2, usr_sign_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, fk_user_sign) VALUES ('66c9fe62-092d-11eb-8dbb-0242ac110002', '66c9fa0c-092d-11eb-8dbb-0242ac110002', 2, false, false, 11, '2.59.2-30', NULL, NULL, NULL, '811a5b2a-0894-11eb-adef-0242ac110002', NULL, 1, 3, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 2, 3, NULL, NULL, false, false, NULL, NULL, NULL, NULL, NULL, '2023-02-22 08:31:38.624607', NULL, '2023-02-22 08:31:38.624607', NULL, false, NULL); -INSERT INTO signalo_db.sign (id, fk_frame, rank, verso, complex, fk_sign_type, fk_official_sign, fk_marker_type, fk_mirror_shape, fk_parent, fk_owner, fk_provider, fk_durability, fk_status, installation_date, manufacturing_date, case_id, case_decision, inscription_1, inscription_2, inscription_3, fk_coating, fk_lighting, comment, picture, mirror_protruding, mirror_red_frame, dimension_1, dimension_2, usr_sign_1, usr_sign_2, usr_sign_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, fk_user_sign) VALUES ('66eb3d1a-092e-11eb-8dbb-0242ac110002', '66eb35a4-092e-11eb-8dbb-0242ac110002', 2, false, false, 11, '2.09.1', NULL, NULL, NULL, '811a5b2a-0894-11eb-adef-0242ac110002', NULL, 2, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 2, 2, NULL, NULL, false, false, NULL, NULL, NULL, NULL, NULL, '2023-02-22 08:31:38.627461', NULL, '2023-02-22 08:31:38.627461', NULL, false, NULL); -INSERT INTO signalo_db.sign (id, fk_frame, rank, verso, complex, fk_sign_type, fk_official_sign, fk_marker_type, fk_mirror_shape, fk_parent, fk_owner, fk_provider, fk_durability, fk_status, installation_date, manufacturing_date, case_id, case_decision, inscription_1, inscription_2, inscription_3, fk_coating, fk_lighting, comment, picture, mirror_protruding, mirror_red_frame, dimension_1, dimension_2, usr_sign_1, usr_sign_2, usr_sign_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, fk_user_sign) VALUES ('7358585e-b290-11ed-839a-0242ac110002', 'bc6eb427-308e-4ff2-a94a-c1a2be2fc5af', 1, false, false, 14, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1, NULL, NULL, NULL, NULL, 'Rue des cygneaux', NULL, NULL, NULL, 10, NULL, NULL, false, false, NULL, NULL, NULL, NULL, NULL, '2023-02-22 10:07:35.455', 'Denis Rouzaud', '2023-02-22 10:07:35.455', 'Denis Rouzaud', false, NULL); -INSERT INTO signalo_db.sign (id, fk_frame, rank, verso, complex, fk_sign_type, fk_official_sign, fk_marker_type, fk_mirror_shape, fk_parent, fk_owner, fk_provider, fk_durability, fk_status, installation_date, manufacturing_date, case_id, case_decision, inscription_1, inscription_2, inscription_3, fk_coating, fk_lighting, comment, picture, mirror_protruding, mirror_red_frame, dimension_1, dimension_2, usr_sign_1, usr_sign_2, usr_sign_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, fk_user_sign) VALUES ('98d42176-092d-11eb-8dbb-0242ac110002', '98d41cd0-092d-11eb-8dbb-0242ac110002', 1, false, false, 11, '2.32', NULL, NULL, NULL, '811a5b2a-0894-11eb-adef-0242ac110002', NULL, 2, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1, 3, NULL, NULL, false, false, NULL, NULL, NULL, NULL, NULL, '2023-02-22 08:31:38.637934', NULL, '2023-02-22 08:31:38.637934', NULL, false, NULL); -INSERT INTO signalo_db.sign (id, fk_frame, rank, verso, complex, fk_sign_type, fk_official_sign, fk_marker_type, fk_mirror_shape, fk_parent, fk_owner, fk_provider, fk_durability, fk_status, installation_date, manufacturing_date, case_id, case_decision, inscription_1, inscription_2, inscription_3, fk_coating, fk_lighting, comment, picture, mirror_protruding, mirror_red_frame, dimension_1, dimension_2, usr_sign_1, usr_sign_2, usr_sign_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, fk_user_sign) VALUES ('a49cc906-0926-11eb-b4e5-0242ac110002', 'a49c33b0-0926-11eb-b4e5-0242ac110002', 2, true, false, 11, '2.04', NULL, NULL, NULL, '811a5b2a-0894-11eb-adef-0242ac110002', NULL, 10, 3, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 11, 1, NULL, NULL, false, false, NULL, NULL, NULL, NULL, NULL, '2023-02-22 08:31:38.639681', NULL, '2023-02-22 08:31:38.639681', NULL, false, NULL); -INSERT INTO signalo_db.sign (id, fk_frame, rank, verso, complex, fk_sign_type, fk_official_sign, fk_marker_type, fk_mirror_shape, fk_parent, fk_owner, fk_provider, fk_durability, fk_status, installation_date, manufacturing_date, case_id, case_decision, inscription_1, inscription_2, inscription_3, fk_coating, fk_lighting, comment, picture, mirror_protruding, mirror_red_frame, dimension_1, dimension_2, usr_sign_1, usr_sign_2, usr_sign_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, fk_user_sign) VALUES ('d5e4df06-092d-11eb-8dbb-0242ac110002', 'd5e4da56-092d-11eb-8dbb-0242ac110002', 2, false, false, 11, '2.52', NULL, NULL, NULL, '811a5b2a-0894-11eb-adef-0242ac110002', NULL, 2, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 2, NULL, NULL, false, false, NULL, NULL, NULL, NULL, NULL, '2023-02-22 08:31:38.641216', NULL, '2023-02-22 08:31:38.641216', NULL, false, NULL); -INSERT INTO signalo_db.sign (id, fk_frame, rank, verso, complex, fk_sign_type, fk_official_sign, fk_marker_type, fk_mirror_shape, fk_parent, fk_owner, fk_provider, fk_durability, fk_status, installation_date, manufacturing_date, case_id, case_decision, inscription_1, inscription_2, inscription_3, fk_coating, fk_lighting, comment, picture, mirror_protruding, mirror_red_frame, dimension_1, dimension_2, usr_sign_1, usr_sign_2, usr_sign_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, fk_user_sign) VALUES ('f588682c-092e-11eb-8dbb-0242ac110002', 'f588634a-092e-11eb-8dbb-0242ac110002', 1, false, false, 11, '1.23', NULL, NULL, NULL, '811a5b2a-0894-11eb-adef-0242ac110002', NULL, 1, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1, 2, NULL, NULL, false, false, NULL, NULL, NULL, NULL, NULL, '2023-02-22 08:31:38.642724', NULL, '2023-02-22 08:31:38.642724', NULL, false, NULL); -INSERT INTO signalo_db.sign (id, fk_frame, rank, verso, complex, fk_sign_type, fk_official_sign, fk_marker_type, fk_mirror_shape, fk_parent, fk_owner, fk_provider, fk_durability, fk_status, installation_date, manufacturing_date, case_id, case_decision, inscription_1, inscription_2, inscription_3, fk_coating, fk_lighting, comment, picture, mirror_protruding, mirror_red_frame, dimension_1, dimension_2, usr_sign_1, usr_sign_2, usr_sign_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, fk_user_sign) VALUES ('feb33b9c-0ffd-11ee-9ceb-0242ac110002', '348fc524-cc99-41c4-8780-2f7e4d2ff919', 1, false, false, 15, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 10, NULL, NULL, false, false, NULL, NULL, NULL, NULL, NULL, '2023-06-21 08:36:32.694', 'Denis Rouzaud', '2023-06-21 08:36:32.694', 'Denis Rouzaud', false, '9929c77f-dce4-43ef-85fc-7a4bf7fa4bb1'); +INSERT INTO signalo_db.sign (id, fk_frame, rank, complex, fk_sign_type, fk_official_sign, fk_marker_type, fk_mirror_shape, fk_parent, fk_owner, fk_provider, fk_durability, fk_status, installation_date, manufacturing_date, case_id, case_decision, inscription_1, inscription_2, inscription_3, fk_coating, fk_lighting, comment, picture, mirror_protruding, mirror_red_frame, dimension_1, dimension_2, usr_sign_1, usr_sign_2, usr_sign_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, fk_user_sign, natural_direction_or_left, hanging_mode) VALUES ('00000000-0000-0000-eeee-000002010101', '00000000-0000-0000-ffff-000000020101', 1, false, 11, '1.01', NULL, NULL, NULL, NULL, NULL, 1, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, false, NULL, NULL, NULL, NULL, NULL, '2023-02-22 08:31:38.374179', NULL, '2023-02-22 08:31:38.374179', NULL, false, NULL, true, 'RECTO'); +INSERT INTO signalo_db.sign (id, fk_frame, rank, complex, fk_sign_type, fk_official_sign, fk_marker_type, fk_mirror_shape, fk_parent, fk_owner, fk_provider, fk_durability, fk_status, installation_date, manufacturing_date, case_id, case_decision, inscription_1, inscription_2, inscription_3, fk_coating, fk_lighting, comment, picture, mirror_protruding, mirror_red_frame, dimension_1, dimension_2, usr_sign_1, usr_sign_2, usr_sign_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, fk_user_sign, natural_direction_or_left, hanging_mode) VALUES ('00000000-0000-0000-eeee-000002020101', '00000000-0000-0000-ffff-000000020201', 1, false, 11, '4.52', NULL, NULL, NULL, NULL, NULL, 1, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, false, NULL, NULL, NULL, NULL, NULL, '2023-02-22 08:31:38.375723', NULL, '2023-02-22 08:31:38.375723', NULL, false, NULL, true, 'RECTO'); +INSERT INTO signalo_db.sign (id, fk_frame, rank, complex, fk_sign_type, fk_official_sign, fk_marker_type, fk_mirror_shape, fk_parent, fk_owner, fk_provider, fk_durability, fk_status, installation_date, manufacturing_date, case_id, case_decision, inscription_1, inscription_2, inscription_3, fk_coating, fk_lighting, comment, picture, mirror_protruding, mirror_red_frame, dimension_1, dimension_2, usr_sign_1, usr_sign_2, usr_sign_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, fk_user_sign, natural_direction_or_left, hanging_mode) VALUES ('00000000-0000-0000-eeee-000002020201', '00000000-0000-0000-ffff-000000020202', 1, false, 11, '1.03', NULL, NULL, NULL, '811a5b2a-0894-11eb-adef-0242ac110002', NULL, 1, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, false, NULL, NULL, NULL, NULL, NULL, '2023-02-22 08:31:38.381531', NULL, '2023-02-22 08:31:38.381531', NULL, false, NULL, true, 'RECTO'); +INSERT INTO signalo_db.sign (id, fk_frame, rank, complex, fk_sign_type, fk_official_sign, fk_marker_type, fk_mirror_shape, fk_parent, fk_owner, fk_provider, fk_durability, fk_status, installation_date, manufacturing_date, case_id, case_decision, inscription_1, inscription_2, inscription_3, fk_coating, fk_lighting, comment, picture, mirror_protruding, mirror_red_frame, dimension_1, dimension_2, usr_sign_1, usr_sign_2, usr_sign_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, fk_user_sign, natural_direction_or_left, hanging_mode) VALUES ('00000000-0000-0000-eeee-000002020202', '00000000-0000-0000-ffff-000000020202', 2, false, 11, '1.14', NULL, NULL, NULL, '811a5b2a-0894-11eb-adef-0242ac110002', NULL, 1, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, false, NULL, NULL, NULL, NULL, NULL, '2023-02-22 08:31:38.383483', NULL, '2023-02-22 08:31:38.383483', NULL, false, NULL, true, 'RECTO'); +INSERT INTO signalo_db.sign (id, fk_frame, rank, complex, fk_sign_type, fk_official_sign, fk_marker_type, fk_mirror_shape, fk_parent, fk_owner, fk_provider, fk_durability, fk_status, installation_date, manufacturing_date, case_id, case_decision, inscription_1, inscription_2, inscription_3, fk_coating, fk_lighting, comment, picture, mirror_protruding, mirror_red_frame, dimension_1, dimension_2, usr_sign_1, usr_sign_2, usr_sign_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, fk_user_sign, natural_direction_or_left, hanging_mode) VALUES ('00000000-0000-0000-eeee-000002020203', '00000000-0000-0000-ffff-000000020202', 3, false, 11, '1.14', NULL, NULL, NULL, NULL, NULL, 1, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, false, NULL, NULL, NULL, NULL, NULL, '2023-02-22 08:31:38.385582', NULL, '2023-02-22 08:31:38.385582', NULL, false, NULL, true, 'RECTO'); +INSERT INTO signalo_db.sign (id, fk_frame, rank, complex, fk_sign_type, fk_official_sign, fk_marker_type, fk_mirror_shape, fk_parent, fk_owner, fk_provider, fk_durability, fk_status, installation_date, manufacturing_date, case_id, case_decision, inscription_1, inscription_2, inscription_3, fk_coating, fk_lighting, comment, picture, mirror_protruding, mirror_red_frame, dimension_1, dimension_2, usr_sign_1, usr_sign_2, usr_sign_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, fk_user_sign, natural_direction_or_left, hanging_mode) VALUES ('00000000-0000-0000-eeee-000002020301', '00000000-0000-0000-ffff-000000020203', 1, false, 11, '1.25a', NULL, NULL, NULL, NULL, NULL, 1, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, false, NULL, NULL, NULL, NULL, NULL, '2023-02-22 08:31:38.387403', NULL, '2023-02-22 08:31:38.387403', NULL, false, NULL, true, 'RECTO'); +INSERT INTO signalo_db.sign (id, fk_frame, rank, complex, fk_sign_type, fk_official_sign, fk_marker_type, fk_mirror_shape, fk_parent, fk_owner, fk_provider, fk_durability, fk_status, installation_date, manufacturing_date, case_id, case_decision, inscription_1, inscription_2, inscription_3, fk_coating, fk_lighting, comment, picture, mirror_protruding, mirror_red_frame, dimension_1, dimension_2, usr_sign_1, usr_sign_2, usr_sign_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, fk_user_sign, natural_direction_or_left, hanging_mode) VALUES ('00000000-0000-0000-eeee-000002020401', '00000000-0000-0000-ffff-000000020204', 1, false, 11, '1.30', NULL, NULL, NULL, NULL, NULL, 1, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, false, NULL, NULL, NULL, NULL, NULL, '2023-02-22 08:31:38.389932', NULL, '2023-02-22 08:31:38.389932', NULL, false, NULL, true, 'RECTO'); +INSERT INTO signalo_db.sign (id, fk_frame, rank, complex, fk_sign_type, fk_official_sign, fk_marker_type, fk_mirror_shape, fk_parent, fk_owner, fk_provider, fk_durability, fk_status, installation_date, manufacturing_date, case_id, case_decision, inscription_1, inscription_2, inscription_3, fk_coating, fk_lighting, comment, picture, mirror_protruding, mirror_red_frame, dimension_1, dimension_2, usr_sign_1, usr_sign_2, usr_sign_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, fk_user_sign, natural_direction_or_left, hanging_mode) VALUES ('00000000-0000-0000-eeee-000012020201', '00000000-0000-0000-ffff-000000020202', 1, false, 11, '1.30', NULL, NULL, NULL, NULL, NULL, 1, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, false, NULL, NULL, NULL, NULL, NULL, '2023-02-22 08:31:38.392028', NULL, '2023-02-22 08:31:38.392028', NULL, false, NULL, true, 'VERSO'); +INSERT INTO signalo_db.sign (id, fk_frame, rank, complex, fk_sign_type, fk_official_sign, fk_marker_type, fk_mirror_shape, fk_parent, fk_owner, fk_provider, fk_durability, fk_status, installation_date, manufacturing_date, case_id, case_decision, inscription_1, inscription_2, inscription_3, fk_coating, fk_lighting, comment, picture, mirror_protruding, mirror_red_frame, dimension_1, dimension_2, usr_sign_1, usr_sign_2, usr_sign_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, fk_user_sign, natural_direction_or_left, hanging_mode) VALUES ('00000000-0000-0000-eeee-000012020202', '00000000-0000-0000-ffff-000000020202', 2, false, 11, '1.30', NULL, NULL, NULL, NULL, NULL, 1, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, false, NULL, NULL, NULL, NULL, NULL, '2023-02-22 08:31:38.398225', NULL, '2023-02-22 08:31:38.398225', NULL, false, NULL, true, 'VERSO'); +INSERT INTO signalo_db.sign (id, fk_frame, rank, complex, fk_sign_type, fk_official_sign, fk_marker_type, fk_mirror_shape, fk_parent, fk_owner, fk_provider, fk_durability, fk_status, installation_date, manufacturing_date, case_id, case_decision, inscription_1, inscription_2, inscription_3, fk_coating, fk_lighting, comment, picture, mirror_protruding, mirror_red_frame, dimension_1, dimension_2, usr_sign_1, usr_sign_2, usr_sign_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, fk_user_sign, natural_direction_or_left, hanging_mode) VALUES ('00000000-0000-0000-eeee-000012020203', '00000000-0000-0000-ffff-000000020203', 1, false, 11, '1.30', NULL, NULL, NULL, NULL, NULL, 1, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, false, NULL, NULL, NULL, NULL, NULL, '2023-02-22 08:31:38.400285', NULL, '2023-02-22 08:31:38.400285', NULL, false, NULL, true, 'VERSO'); +INSERT INTO signalo_db.sign (id, fk_frame, rank, complex, fk_sign_type, fk_official_sign, fk_marker_type, fk_mirror_shape, fk_parent, fk_owner, fk_provider, fk_durability, fk_status, installation_date, manufacturing_date, case_id, case_decision, inscription_1, inscription_2, inscription_3, fk_coating, fk_lighting, comment, picture, mirror_protruding, mirror_red_frame, dimension_1, dimension_2, usr_sign_1, usr_sign_2, usr_sign_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, fk_user_sign, natural_direction_or_left, hanging_mode) VALUES ('0c1c7b4e-4c86-11ee-b83f-0242ac110002', '0cac19f6-db18-4354-9901-1bbc53a41e01', 1, false, 11, '4.46.1', NULL, NULL, NULL, NULL, NULL, NULL, 1, NULL, NULL, NULL, NULL, 'Gare', NULL, NULL, NULL, 10, NULL, NULL, false, false, NULL, NULL, NULL, NULL, NULL, '2023-09-06 09:21:20.73', 'Denis Rouzaud', '2023-09-07 09:23:46.313', 'Denis Rouzaud', false, NULL, false, 'RECTO-VERSO'); +INSERT INTO signalo_db.sign (id, fk_frame, rank, complex, fk_sign_type, fk_official_sign, fk_marker_type, fk_mirror_shape, fk_parent, fk_owner, fk_provider, fk_durability, fk_status, installation_date, manufacturing_date, case_id, case_decision, inscription_1, inscription_2, inscription_3, fk_coating, fk_lighting, comment, picture, mirror_protruding, mirror_red_frame, dimension_1, dimension_2, usr_sign_1, usr_sign_2, usr_sign_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, fk_user_sign, natural_direction_or_left, hanging_mode) VALUES ('19d4da92-0927-11eb-b4e5-0242ac110002', '19d4cf98-0927-11eb-b4e5-0242ac110002', 3, false, 11, '2.59.5', NULL, NULL, NULL, '811a5b2a-0894-11eb-adef-0242ac110002', NULL, NULL, 2, NULL, '2020-10-08', NULL, NULL, NULL, NULL, NULL, 11, NULL, NULL, NULL, false, false, NULL, NULL, NULL, NULL, NULL, '2023-02-22 08:31:38.423203', NULL, '2023-02-22 08:31:38.423203', NULL, false, NULL, true, 'RECTO'); +INSERT INTO signalo_db.sign (id, fk_frame, rank, complex, fk_sign_type, fk_official_sign, fk_marker_type, fk_mirror_shape, fk_parent, fk_owner, fk_provider, fk_durability, fk_status, installation_date, manufacturing_date, case_id, case_decision, inscription_1, inscription_2, inscription_3, fk_coating, fk_lighting, comment, picture, mirror_protruding, mirror_red_frame, dimension_1, dimension_2, usr_sign_1, usr_sign_2, usr_sign_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, fk_user_sign, natural_direction_or_left, hanging_mode) VALUES ('34e71990-4d52-11ee-b7d3-0242ac110002', '68cb0b0b-2082-49cc-bf6d-b106c861dada', 1, false, 11, '2.59.1-NP', NULL, NULL, NULL, NULL, NULL, NULL, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 10, NULL, NULL, false, false, NULL, NULL, NULL, NULL, NULL, '2023-09-07 09:42:47.934', 'Denis Rouzaud', '2023-09-07 09:42:47.934', 'Denis Rouzaud', false, NULL, true, 'RECTO-VERSO'); +INSERT INTO signalo_db.sign (id, fk_frame, rank, complex, fk_sign_type, fk_official_sign, fk_marker_type, fk_mirror_shape, fk_parent, fk_owner, fk_provider, fk_durability, fk_status, installation_date, manufacturing_date, case_id, case_decision, inscription_1, inscription_2, inscription_3, fk_coating, fk_lighting, comment, picture, mirror_protruding, mirror_red_frame, dimension_1, dimension_2, usr_sign_1, usr_sign_2, usr_sign_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, fk_user_sign, natural_direction_or_left, hanging_mode) VALUES ('3a04c71e-4c86-11ee-a7f4-0242ac110002', '0e2decbd-06fa-459e-80af-a13a54e67e52', 1, false, 11, '4.32-1', NULL, NULL, NULL, NULL, NULL, NULL, 1, NULL, NULL, NULL, NULL, 'Genève', NULL, NULL, NULL, 10, NULL, NULL, false, false, NULL, NULL, NULL, NULL, NULL, '2023-09-06 09:22:32.096', 'Denis Rouzaud', '2023-11-14 05:57:39.572', 'Rouzaud Denis', false, NULL, true, 'RECTO'); +INSERT INTO signalo_db.sign (id, fk_frame, rank, complex, fk_sign_type, fk_official_sign, fk_marker_type, fk_mirror_shape, fk_parent, fk_owner, fk_provider, fk_durability, fk_status, installation_date, manufacturing_date, case_id, case_decision, inscription_1, inscription_2, inscription_3, fk_coating, fk_lighting, comment, picture, mirror_protruding, mirror_red_frame, dimension_1, dimension_2, usr_sign_1, usr_sign_2, usr_sign_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, fk_user_sign, natural_direction_or_left, hanging_mode) VALUES ('440440ae-7e32-11ee-bbd5-0242ac110002', 'a088c423-b088-4306-8b7f-a3b1151682ec', 1, false, 11, '4.32-1', NULL, NULL, NULL, NULL, NULL, NULL, 1, NULL, NULL, NULL, NULL, 'Vevey', NULL, NULL, NULL, 10, NULL, NULL, false, false, NULL, NULL, NULL, NULL, NULL, '2023-09-06 09:22:32.096', 'Denis Rouzaud', '2023-11-08 13:28:04.958', 'Rouzaud Denis', false, NULL, true, 'RECTO-VERSO'); +INSERT INTO signalo_db.sign (id, fk_frame, rank, complex, fk_sign_type, fk_official_sign, fk_marker_type, fk_mirror_shape, fk_parent, fk_owner, fk_provider, fk_durability, fk_status, installation_date, manufacturing_date, case_id, case_decision, inscription_1, inscription_2, inscription_3, fk_coating, fk_lighting, comment, picture, mirror_protruding, mirror_red_frame, dimension_1, dimension_2, usr_sign_1, usr_sign_2, usr_sign_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, fk_user_sign, natural_direction_or_left, hanging_mode) VALUES ('4406af6a-7e32-11ee-bbd5-0242ac110002', 'fdc08784-e5a6-4b0a-a299-2cc3e67a0079', 1, false, 11, '4.32-1', NULL, NULL, NULL, NULL, NULL, NULL, 1, NULL, NULL, NULL, NULL, 'Genève', NULL, NULL, NULL, 10, NULL, NULL, false, false, NULL, NULL, NULL, NULL, NULL, '2023-09-06 09:23:21.671', 'Denis Rouzaud', '2023-11-08 13:28:04.979', 'Rouzaud Denis', false, NULL, true, 'RECTO-VERSO'); +INSERT INTO signalo_db.sign (id, fk_frame, rank, complex, fk_sign_type, fk_official_sign, fk_marker_type, fk_mirror_shape, fk_parent, fk_owner, fk_provider, fk_durability, fk_status, installation_date, manufacturing_date, case_id, case_decision, inscription_1, inscription_2, inscription_3, fk_coating, fk_lighting, comment, picture, mirror_protruding, mirror_red_frame, dimension_1, dimension_2, usr_sign_1, usr_sign_2, usr_sign_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, fk_user_sign, natural_direction_or_left, hanging_mode) VALUES ('4d82377c-4c86-11ee-a7f4-0242ac110002', '1d945e23-3ba7-4a34-b3df-c9ac17b9827e', 1, false, 11, '4.32-1', NULL, NULL, NULL, NULL, NULL, NULL, 1, NULL, NULL, NULL, NULL, 'Vevey', NULL, NULL, NULL, 10, NULL, NULL, false, false, NULL, NULL, NULL, NULL, NULL, '2023-09-06 09:23:21.671', 'Denis Rouzaud', '2023-11-14 05:57:47.721', 'Rouzaud Denis', false, NULL, true, 'RECTO'); +INSERT INTO signalo_db.sign (id, fk_frame, rank, complex, fk_sign_type, fk_official_sign, fk_marker_type, fk_mirror_shape, fk_parent, fk_owner, fk_provider, fk_durability, fk_status, installation_date, manufacturing_date, case_id, case_decision, inscription_1, inscription_2, inscription_3, fk_coating, fk_lighting, comment, picture, mirror_protruding, mirror_red_frame, dimension_1, dimension_2, usr_sign_1, usr_sign_2, usr_sign_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, fk_user_sign, natural_direction_or_left, hanging_mode) VALUES ('642e4438-089c-11eb-b19a-0242ac110002', '642de2ea-089c-11eb-b19a-0242ac110002', 1, false, 11, '1.05', NULL, NULL, NULL, '811a5b2a-0894-11eb-adef-0242ac110002', NULL, 2, 3, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 11, 3, NULL, NULL, false, false, NULL, NULL, NULL, NULL, NULL, '2023-02-22 08:31:38.509558', NULL, '2023-02-22 08:31:38.509558', NULL, false, NULL, true, 'RECTO'); +INSERT INTO signalo_db.sign (id, fk_frame, rank, complex, fk_sign_type, fk_official_sign, fk_marker_type, fk_mirror_shape, fk_parent, fk_owner, fk_provider, fk_durability, fk_status, installation_date, manufacturing_date, case_id, case_decision, inscription_1, inscription_2, inscription_3, fk_coating, fk_lighting, comment, picture, mirror_protruding, mirror_red_frame, dimension_1, dimension_2, usr_sign_1, usr_sign_2, usr_sign_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, fk_user_sign, natural_direction_or_left, hanging_mode) VALUES ('7358585e-b290-11ed-839a-0242ac110002', 'bc6eb427-308e-4ff2-a94a-c1a2be2fc5af', 1, false, 14, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1, NULL, NULL, NULL, NULL, 'Rue des cygneaux', NULL, NULL, NULL, 10, NULL, NULL, false, false, NULL, NULL, NULL, NULL, NULL, '2023-02-22 10:07:35.455', 'Denis Rouzaud', '2023-02-22 10:07:35.455', 'Denis Rouzaud', false, NULL, true, 'RECTO'); +INSERT INTO signalo_db.sign (id, fk_frame, rank, complex, fk_sign_type, fk_official_sign, fk_marker_type, fk_mirror_shape, fk_parent, fk_owner, fk_provider, fk_durability, fk_status, installation_date, manufacturing_date, case_id, case_decision, inscription_1, inscription_2, inscription_3, fk_coating, fk_lighting, comment, picture, mirror_protruding, mirror_red_frame, dimension_1, dimension_2, usr_sign_1, usr_sign_2, usr_sign_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, fk_user_sign, natural_direction_or_left, hanging_mode) VALUES ('815f840e-4809-11ee-b1dc-0242ac110002', '75f4bf9f-5f5e-4362-a4ce-fb29bb8c0123', 1, false, 11, '2.32', NULL, NULL, NULL, NULL, NULL, NULL, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 10, NULL, NULL, false, false, NULL, NULL, NULL, NULL, NULL, '2023-08-31 16:19:54.172', 'Denis Rouzaud', '2023-08-31 16:20:35.183', 'Denis Rouzaud', false, NULL, true, 'RECTO'); +INSERT INTO signalo_db.sign (id, fk_frame, rank, complex, fk_sign_type, fk_official_sign, fk_marker_type, fk_mirror_shape, fk_parent, fk_owner, fk_provider, fk_durability, fk_status, installation_date, manufacturing_date, case_id, case_decision, inscription_1, inscription_2, inscription_3, fk_coating, fk_lighting, comment, picture, mirror_protruding, mirror_red_frame, dimension_1, dimension_2, usr_sign_1, usr_sign_2, usr_sign_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, fk_user_sign, natural_direction_or_left, hanging_mode) VALUES ('8ed40678-7e32-11ee-9c43-0242ac110002', 'c167ced0-efb2-4874-9816-1707f3b6ffec', 1, false, 11, '4.49', NULL, NULL, NULL, NULL, NULL, NULL, 1, NULL, NULL, NULL, NULL, 'OPENGIS.ch', NULL, NULL, NULL, 10, NULL, NULL, false, false, NULL, NULL, NULL, NULL, NULL, '2023-11-08 13:29:18.774', 'Rouzaud Denis', '2023-11-08 13:29:18.774', 'Rouzaud Denis', false, NULL, true, 'RECTO'); +INSERT INTO signalo_db.sign (id, fk_frame, rank, complex, fk_sign_type, fk_official_sign, fk_marker_type, fk_mirror_shape, fk_parent, fk_owner, fk_provider, fk_durability, fk_status, installation_date, manufacturing_date, case_id, case_decision, inscription_1, inscription_2, inscription_3, fk_coating, fk_lighting, comment, picture, mirror_protruding, mirror_red_frame, dimension_1, dimension_2, usr_sign_1, usr_sign_2, usr_sign_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, fk_user_sign, natural_direction_or_left, hanging_mode) VALUES ('9e8acdb6-4d51-11ee-b653-0242ac110002', '3c7fe8c4-d4bf-481c-9bb6-cfbe89c5c103', 1, false, 11, '4.33-1', NULL, NULL, NULL, NULL, NULL, NULL, 1, NULL, NULL, NULL, NULL, 'Gare', NULL, NULL, NULL, 10, NULL, NULL, false, false, NULL, NULL, NULL, NULL, NULL, '2023-09-07 09:37:43.359', 'Denis Rouzaud', '2023-09-07 09:42:22.182', 'Denis Rouzaud', false, NULL, true, 'RECTO'); +INSERT INTO signalo_db.sign (id, fk_frame, rank, complex, fk_sign_type, fk_official_sign, fk_marker_type, fk_mirror_shape, fk_parent, fk_owner, fk_provider, fk_durability, fk_status, installation_date, manufacturing_date, case_id, case_decision, inscription_1, inscription_2, inscription_3, fk_coating, fk_lighting, comment, picture, mirror_protruding, mirror_red_frame, dimension_1, dimension_2, usr_sign_1, usr_sign_2, usr_sign_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, fk_user_sign, natural_direction_or_left, hanging_mode) VALUES ('a49cc906-0926-11eb-b4e5-0242ac110002', 'a49c33b0-0926-11eb-b4e5-0242ac110002', 2, false, 11, '2.04', NULL, NULL, NULL, '811a5b2a-0894-11eb-adef-0242ac110002', NULL, 10, 3, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 11, 1, NULL, NULL, false, false, NULL, NULL, NULL, NULL, NULL, '2023-02-22 08:31:38.639681', NULL, '2023-02-22 08:31:38.639681', NULL, false, NULL, true, 'VERSO'); +INSERT INTO signalo_db.sign (id, fk_frame, rank, complex, fk_sign_type, fk_official_sign, fk_marker_type, fk_mirror_shape, fk_parent, fk_owner, fk_provider, fk_durability, fk_status, installation_date, manufacturing_date, case_id, case_decision, inscription_1, inscription_2, inscription_3, fk_coating, fk_lighting, comment, picture, mirror_protruding, mirror_red_frame, dimension_1, dimension_2, usr_sign_1, usr_sign_2, usr_sign_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, fk_user_sign, natural_direction_or_left, hanging_mode) VALUES ('a7e54358-47db-11ee-9048-0242ac110002', '00000000-0000-ffff-0000-0000000000a1', 1, false, 11, '2.02', NULL, NULL, NULL, NULL, NULL, NULL, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 10, NULL, NULL, false, false, NULL, NULL, NULL, NULL, NULL, '2023-06-21 08:36:32.694', 'Denis Rouzaud', '2023-06-21 08:36:32.694', 'Denis Rouzaud', false, '9929c77f-dce4-43ef-85fc-7a4bf7fa4bb1', true, 'RECTO'); +INSERT INTO signalo_db.sign (id, fk_frame, rank, complex, fk_sign_type, fk_official_sign, fk_marker_type, fk_mirror_shape, fk_parent, fk_owner, fk_provider, fk_durability, fk_status, installation_date, manufacturing_date, case_id, case_decision, inscription_1, inscription_2, inscription_3, fk_coating, fk_lighting, comment, picture, mirror_protruding, mirror_red_frame, dimension_1, dimension_2, usr_sign_1, usr_sign_2, usr_sign_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, fk_user_sign, natural_direction_or_left, hanging_mode) VALUES ('a7e57314-47db-11ee-9048-0242ac110002', '00000000-0000-ffff-0000-0000000000a2', 1, false, 11, '2.34', NULL, NULL, NULL, NULL, NULL, NULL, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 10, NULL, NULL, false, false, NULL, NULL, NULL, NULL, NULL, '2023-06-21 08:36:32.694', 'Denis Rouzaud', '2023-09-06 09:16:27.792', 'Denis Rouzaud', false, '9929c77f-dce4-43ef-85fc-7a4bf7fa4bb1', true, 'RECTO'); +INSERT INTO signalo_db.sign (id, fk_frame, rank, complex, fk_sign_type, fk_official_sign, fk_marker_type, fk_mirror_shape, fk_parent, fk_owner, fk_provider, fk_durability, fk_status, installation_date, manufacturing_date, case_id, case_decision, inscription_1, inscription_2, inscription_3, fk_coating, fk_lighting, comment, picture, mirror_protruding, mirror_red_frame, dimension_1, dimension_2, usr_sign_1, usr_sign_2, usr_sign_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, fk_user_sign, natural_direction_or_left, hanging_mode) VALUES ('cc39549e-4d51-11ee-a186-0242ac110002', '5a42808a-9610-4a2e-b207-fd34c8211baa', 1, false, 11, '4.32-1', NULL, NULL, NULL, NULL, NULL, NULL, 1, NULL, NULL, NULL, NULL, 'Berne', NULL, NULL, NULL, 10, NULL, NULL, false, false, NULL, NULL, NULL, NULL, NULL, '2023-09-07 09:39:58.865', 'Denis Rouzaud', '2023-09-07 09:39:58.865', 'Denis Rouzaud', false, NULL, false, 'RECTO'); +INSERT INTO signalo_db.sign (id, fk_frame, rank, complex, fk_sign_type, fk_official_sign, fk_marker_type, fk_mirror_shape, fk_parent, fk_owner, fk_provider, fk_durability, fk_status, installation_date, manufacturing_date, case_id, case_decision, inscription_1, inscription_2, inscription_3, fk_coating, fk_lighting, comment, picture, mirror_protruding, mirror_red_frame, dimension_1, dimension_2, usr_sign_1, usr_sign_2, usr_sign_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, fk_user_sign, natural_direction_or_left, hanging_mode) VALUES ('e16ac422-4c86-11ee-86b3-0242ac110002', 'da131ba0-42ed-4a60-a13d-ac35cea9edc5', 1, false, 11, '4.32-1', NULL, NULL, NULL, NULL, NULL, NULL, 1, NULL, NULL, NULL, NULL, 'Genève', NULL, NULL, NULL, 10, NULL, NULL, false, false, NULL, NULL, NULL, NULL, NULL, '2023-09-06 09:22:32.096', 'Denis Rouzaud', '2023-09-06 09:28:28.812', 'Denis Rouzaud', false, NULL, true, 'RECTO-VERSO'); +INSERT INTO signalo_db.sign (id, fk_frame, rank, complex, fk_sign_type, fk_official_sign, fk_marker_type, fk_mirror_shape, fk_parent, fk_owner, fk_provider, fk_durability, fk_status, installation_date, manufacturing_date, case_id, case_decision, inscription_1, inscription_2, inscription_3, fk_coating, fk_lighting, comment, picture, mirror_protruding, mirror_red_frame, dimension_1, dimension_2, usr_sign_1, usr_sign_2, usr_sign_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, fk_user_sign, natural_direction_or_left, hanging_mode) VALUES ('e16da8f4-4c86-11ee-86b3-0242ac110002', '055369c1-e422-4851-aa90-690e4a526335', 1, false, 11, '4.32-1', NULL, NULL, NULL, NULL, NULL, NULL, 1, NULL, NULL, NULL, NULL, 'Vevey', NULL, NULL, NULL, 10, NULL, NULL, false, false, NULL, NULL, NULL, NULL, NULL, '2023-09-06 09:23:21.671', 'Denis Rouzaud', '2023-09-06 09:28:34.368', 'Denis Rouzaud', false, NULL, true, 'RECTO-VERSO'); +INSERT INTO signalo_db.sign (id, fk_frame, rank, complex, fk_sign_type, fk_official_sign, fk_marker_type, fk_mirror_shape, fk_parent, fk_owner, fk_provider, fk_durability, fk_status, installation_date, manufacturing_date, case_id, case_decision, inscription_1, inscription_2, inscription_3, fk_coating, fk_lighting, comment, picture, mirror_protruding, mirror_red_frame, dimension_1, dimension_2, usr_sign_1, usr_sign_2, usr_sign_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, fk_user_sign, natural_direction_or_left, hanging_mode) VALUES ('feb33b9c-0ffd-11ee-9ceb-0242ac110002', '348fc524-cc99-41c4-8780-2f7e4d2ff919', 1, false, 15, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 10, NULL, NULL, false, false, NULL, NULL, NULL, NULL, NULL, '2023-06-21 08:36:32.694', 'Denis Rouzaud', '2023-06-21 08:36:32.694', 'Denis Rouzaud', false, '9929c77f-dce4-43ef-85fc-7a4bf7fa4bb1', true, 'RECTO'); +INSERT INTO signalo_db.sign (id, fk_frame, rank, complex, fk_sign_type, fk_official_sign, fk_marker_type, fk_mirror_shape, fk_parent, fk_owner, fk_provider, fk_durability, fk_status, installation_date, manufacturing_date, case_id, case_decision, inscription_1, inscription_2, inscription_3, fk_coating, fk_lighting, comment, picture, mirror_protruding, mirror_red_frame, dimension_1, dimension_2, usr_sign_1, usr_sign_2, usr_sign_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, fk_user_sign, natural_direction_or_left, hanging_mode) VALUES ('ffac3240-4808-11ee-967c-0242ac110002', 'a899745b-f562-47ca-9175-ef2e19ac18de', 1, false, 11, '2.59.3', NULL, NULL, NULL, NULL, NULL, NULL, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 10, NULL, NULL, false, false, NULL, NULL, NULL, NULL, NULL, '2023-08-31 16:16:23.516', 'Denis Rouzaud', '2023-08-31 16:38:07.493', 'Denis Rouzaud', false, NULL, true, 'RECTO-VERSO'); diff --git a/data_model/demo_data/support_content.sql b/data_model/demo_data/support_content.sql index 75317066..da565b1e 100644 --- a/data_model/demo_data/support_content.sql +++ b/data_model/demo_data/support_content.sql @@ -1,9 +1,11 @@ -INSERT INTO signalo_db.support (id, address, fk_support_type, fk_owner, fk_provider, fk_support_base_type, road_segment, height, height_free_under_signal, date_install, date_last_stability_check, fk_status, comment, picture, geometry, usr_support_1, usr_support_2, usr_support_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited) VALUES ('00000000-0000-0000-0000-000000000001', NULL, 1, NULL, NULL, 1, NULL, NULL, NULL, NULL, NULL, 1, NULL, NULL, '0101000020080800005C8FC235F15C43413D0AD7230B963141', NULL, NULL, NULL, '2023-02-22 08:31:37.361248', NULL, '2023-02-22 08:31:37.361248', NULL, false); -INSERT INTO signalo_db.support (id, address, fk_support_type, fk_owner, fk_provider, fk_support_base_type, road_segment, height, height_free_under_signal, date_install, date_last_stability_check, fk_status, comment, picture, geometry, usr_support_1, usr_support_2, usr_support_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited) VALUES ('00000000-0000-0000-0000-000000000002', NULL, 3, NULL, NULL, 2, NULL, NULL, NULL, NULL, NULL, 1, NULL, NULL, '010100002008080000D7A370BDE85D434185EB513800963141', NULL, NULL, NULL, '2023-02-22 08:31:37.390486', NULL, '2023-02-22 08:31:37.390486', NULL, false); -INSERT INTO signalo_db.support (id, address, fk_support_type, fk_owner, fk_provider, fk_support_base_type, road_segment, height, height_free_under_signal, date_install, date_last_stability_check, fk_status, comment, picture, geometry, usr_support_1, usr_support_2, usr_support_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited) VALUES ('154d0f28-092a-11eb-8ade-0242ac110002', NULL, 11, NULL, NULL, 17, NULL, NULL, NULL, NULL, NULL, 2, NULL, NULL, '01010000200808000023BE68F5E75C4341C07E4CF3C8953141', NULL, NULL, NULL, '2023-02-22 08:31:37.393172', NULL, '2023-02-22 08:31:37.393172', NULL, false); -INSERT INTO signalo_db.support (id, address, fk_support_type, fk_owner, fk_provider, fk_support_base_type, road_segment, height, height_free_under_signal, date_install, date_last_stability_check, fk_status, comment, picture, geometry, usr_support_1, usr_support_2, usr_support_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited) VALUES ('2aa9d090-092a-11eb-8ade-0242ac110002', NULL, 10, NULL, NULL, 18, NULL, NULL, NULL, '2020-10-09', NULL, 3, NULL, NULL, '010100002008080000A302AD95F55C434157739602C7953141', NULL, NULL, NULL, '2023-02-22 08:31:37.396259', NULL, '2023-02-22 08:31:37.396259', NULL, false); -INSERT INTO signalo_db.support (id, address, fk_support_type, fk_owner, fk_provider, fk_support_base_type, road_segment, height, height_free_under_signal, date_install, date_last_stability_check, fk_status, comment, picture, geometry, usr_support_1, usr_support_2, usr_support_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited) VALUES ('2e988298-0897-11eb-8771-0242ac110002', NULL, 1, NULL, NULL, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '010100002008080000C5E07FA4E65B43412E137A1C3E973141', NULL, NULL, NULL, '2023-02-22 08:31:37.401948', NULL, '2023-02-22 08:31:37.401948', NULL, false); -INSERT INTO signalo_db.support (id, address, fk_support_type, fk_owner, fk_provider, fk_support_base_type, road_segment, height, height_free_under_signal, date_install, date_last_stability_check, fk_status, comment, picture, geometry, usr_support_1, usr_support_2, usr_support_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited) VALUES ('4478bbcc-0236-46ee-b284-4c586e6af8a9', NULL, 1, NULL, NULL, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '01010000200808000001A89F84BD5C43413A42EDB7E4953141', NULL, NULL, NULL, '2023-06-21 08:36:14.555', 'Denis Rouzaud', '2023-06-21 08:36:14.555', 'Denis Rouzaud', false); -INSERT INTO signalo_db.support (id, address, fk_support_type, fk_owner, fk_provider, fk_support_base_type, road_segment, height, height_free_under_signal, date_install, date_last_stability_check, fk_status, comment, picture, geometry, usr_support_1, usr_support_2, usr_support_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited) VALUES ('814da66a-0894-11eb-99f5-0242ac110002', NULL, 1, NULL, NULL, 1, NULL, NULL, NULL, NULL, NULL, 1, NULL, NULL, '01010000200808000000000000CA5D4341CDCCCCCC4D963141', NULL, NULL, NULL, '2023-02-22 08:31:37.40358', NULL, '2023-02-22 08:31:37.40358', NULL, false); -INSERT INTO signalo_db.support (id, address, fk_support_type, fk_owner, fk_provider, fk_support_base_type, road_segment, height, height_free_under_signal, date_install, date_last_stability_check, fk_status, comment, picture, geometry, usr_support_1, usr_support_2, usr_support_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited) VALUES ('be315096-092e-11eb-b1e2-0242ac110002', NULL, 1, NULL, NULL, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '010100002008080000AF96EBF0FD5C43412C1507B903963141', NULL, NULL, NULL, '2023-02-22 08:31:37.40566', NULL, '2023-02-22 08:31:37.40566', NULL, false); -INSERT INTO signalo_db.support (id, address, fk_support_type, fk_owner, fk_provider, fk_support_base_type, road_segment, height, height_free_under_signal, date_install, date_last_stability_check, fk_status, comment, picture, geometry, usr_support_1, usr_support_2, usr_support_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited) VALUES ('f5054922-95a7-4f12-8374-0a57e105327c', NULL, 1, NULL, NULL, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '010100002008080000F1FBBA57AC5C43417875962ED3953141', NULL, NULL, NULL, '2023-02-22 10:06:43.92', 'Denis Rouzaud', '2023-02-22 10:06:43.92', 'Denis Rouzaud', false); +INSERT INTO signalo_db.support (id, address, fk_support_type, fk_owner, fk_provider, fk_support_base_type, road_segment, height, height_free_under_signal, date_install, date_last_stability_check, fk_status, comment, picture, geometry, usr_support_1, usr_support_2, usr_support_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, group_by_anchor_point) VALUES ('00000000-0000-0000-0000-000000000002', NULL, 3, NULL, NULL, 2, NULL, NULL, NULL, NULL, NULL, 1, NULL, NULL, '010100002008080000D7A370BDE85D434185EB513800963141', NULL, NULL, NULL, '2023-02-22 08:31:37.390486', NULL, '2023-02-22 08:31:37.390486', NULL, false, false); +INSERT INTO signalo_db.support (id, address, fk_support_type, fk_owner, fk_provider, fk_support_base_type, road_segment, height, height_free_under_signal, date_install, date_last_stability_check, fk_status, comment, picture, geometry, usr_support_1, usr_support_2, usr_support_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, group_by_anchor_point) VALUES ('00000000-0000-0000-0000-0000000000a1', NULL, 17, NULL, NULL, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0101000020080800000B5CF94FA75C43411230DACDD6953141', NULL, NULL, NULL, NULL, 'Denis Rouzaud', '2023-09-07 09:43:52.317', 'Denis Rouzaud', false, true); +INSERT INTO signalo_db.support (id, address, fk_support_type, fk_owner, fk_provider, fk_support_base_type, road_segment, height, height_free_under_signal, date_install, date_last_stability_check, fk_status, comment, picture, geometry, usr_support_1, usr_support_2, usr_support_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, group_by_anchor_point) VALUES ('2e988298-0897-11eb-8771-0242ac110002', NULL, 1, NULL, NULL, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '010100002008080000C5E07FA4E65B43412E137A1C3E973141', NULL, NULL, NULL, '2023-02-22 08:31:37.401948', NULL, '2023-02-22 08:31:37.401948', NULL, false, false); +INSERT INTO signalo_db.support (id, address, fk_support_type, fk_owner, fk_provider, fk_support_base_type, road_segment, height, height_free_under_signal, date_install, date_last_stability_check, fk_status, comment, picture, geometry, usr_support_1, usr_support_2, usr_support_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, group_by_anchor_point) VALUES ('4478bbcc-0236-46ee-b284-4c586e6af8a9', NULL, 1, NULL, NULL, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '010100002008080000252FE84F125C43415140D9C4CA953141', NULL, NULL, NULL, '2023-06-21 08:36:14.555', 'Denis Rouzaud', '2023-09-07 09:45:41.314', 'Denis Rouzaud', false, false); +INSERT INTO signalo_db.support (id, address, fk_support_type, fk_owner, fk_provider, fk_support_base_type, road_segment, height, height_free_under_signal, date_install, date_last_stability_check, fk_status, comment, picture, geometry, usr_support_1, usr_support_2, usr_support_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, group_by_anchor_point) VALUES ('70104932-54ff-4668-90b0-6946352d5544', NULL, 1, NULL, NULL, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '010100002008080000D787DBE9695C434106D2DA8FF1953141', NULL, NULL, NULL, '2023-09-06 09:16:42.169', 'Denis Rouzaud', '2023-09-07 09:17:22.807', 'Denis Rouzaud', false, true); +INSERT INTO signalo_db.support (id, address, fk_support_type, fk_owner, fk_provider, fk_support_base_type, road_segment, height, height_free_under_signal, date_install, date_last_stability_check, fk_status, comment, picture, geometry, usr_support_1, usr_support_2, usr_support_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, group_by_anchor_point) VALUES ('814da66a-0894-11eb-99f5-0242ac110002', NULL, 1, NULL, NULL, 1, NULL, NULL, NULL, NULL, NULL, 1, NULL, NULL, '01010000200808000000000000CA5D4341CDCCCCCC4D963141', NULL, NULL, NULL, '2023-02-22 08:31:37.40358', NULL, '2023-02-22 08:31:37.40358', NULL, false, false); +INSERT INTO signalo_db.support (id, address, fk_support_type, fk_owner, fk_provider, fk_support_base_type, road_segment, height, height_free_under_signal, date_install, date_last_stability_check, fk_status, comment, picture, geometry, usr_support_1, usr_support_2, usr_support_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, group_by_anchor_point) VALUES ('82f3002b-ebdf-4621-9a19-951639fc18bd', NULL, 1, NULL, NULL, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '01010000200808000065EF178C215C4341FEE7169213963141', NULL, NULL, NULL, '2023-09-06 09:16:42.169', 'Denis Rouzaud', '2023-09-07 09:18:20.141', 'Denis Rouzaud', false, true); +INSERT INTO signalo_db.support (id, address, fk_support_type, fk_owner, fk_provider, fk_support_base_type, road_segment, height, height_free_under_signal, date_install, date_last_stability_check, fk_status, comment, picture, geometry, usr_support_1, usr_support_2, usr_support_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, group_by_anchor_point) VALUES ('a3921fbd-8a89-4d82-b3b8-7a24a16f4df4', NULL, 1, NULL, NULL, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0101000020080800004CFA6D0A0F5C4341DBDFED42AE953141', NULL, NULL, NULL, '2023-09-07 09:36:39.163', 'Denis Rouzaud', '2023-09-07 09:36:39.164', 'Denis Rouzaud', false, false); +INSERT INTO signalo_db.support (id, address, fk_support_type, fk_owner, fk_provider, fk_support_base_type, road_segment, height, height_free_under_signal, date_install, date_last_stability_check, fk_status, comment, picture, geometry, usr_support_1, usr_support_2, usr_support_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, group_by_anchor_point) VALUES ('bbdb5d1e-4973-4900-8838-889357a60e65', NULL, 1, NULL, NULL, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '01010000200808000085E0E8F7D25B43413587DEC00D963141', NULL, NULL, NULL, '2023-09-06 09:16:42.169', 'Denis Rouzaud', '2023-11-08 13:28:41.075', 'Rouzaud Denis', false, true); +INSERT INTO signalo_db.support (id, address, fk_support_type, fk_owner, fk_provider, fk_support_base_type, road_segment, height, height_free_under_signal, date_install, date_last_stability_check, fk_status, comment, picture, geometry, usr_support_1, usr_support_2, usr_support_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, group_by_anchor_point) VALUES ('f17d39cc-bac3-4134-9b9c-ea14e228d4b4', NULL, 17, NULL, NULL, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0101000020080800004D41C2489A5C4341AB33A3FADD953141', NULL, NULL, NULL, '2023-08-31 16:15:34.605', 'Denis Rouzaud', '2023-09-07 09:43:49.619', 'Denis Rouzaud', false, true); +INSERT INTO signalo_db.support (id, address, fk_support_type, fk_owner, fk_provider, fk_support_base_type, road_segment, height, height_free_under_signal, date_install, date_last_stability_check, fk_status, comment, picture, geometry, usr_support_1, usr_support_2, usr_support_3, _inserted_date, _inserted_user, _last_modified_date, _last_modified_user, _edited, group_by_anchor_point) VALUES ('f5054922-95a7-4f12-8374-0a57e105327c', NULL, 1, NULL, NULL, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0101000020080800009B2406BA925C434100FF7F0FA4953141', NULL, NULL, NULL, '2023-02-22 10:06:43.92', 'Denis Rouzaud', '2023-09-07 09:35:26.796', 'Denis Rouzaud', false, false); diff --git a/data_model/setup.sh b/data_model/setup.sh index fe754051..39748bd8 100755 --- a/data_model/setup.sh +++ b/data_model/setup.sh @@ -70,6 +70,10 @@ psql "service=${PGSERVICE}" -v ON_ERROR_STOP=1 -v SRID=${SRID} -f ${DIR}/changel psql "service=${PGSERVICE}" -v ON_ERROR_STOP=1 -v SRID=${SRID} -f ${DIR}/changelogs/0006/0006_translate_de.sql psql "service=${PGSERVICE}" -v ON_ERROR_STOP=1 -v SRID=${SRID} -f ${DIR}/changelogs/0006/0006_new_signs.sql psql "service=${PGSERVICE}" -v ON_ERROR_STOP=1 -v SRID=${SRID} -f ${DIR}/changelogs/0006/0006_user_signs.sql +psql "service=${PGSERVICE}" -v ON_ERROR_STOP=1 -v SRID=${SRID} -f ${DIR}/changelogs/0007/0007_anchor-point.sql +psql "service=${PGSERVICE}" -v ON_ERROR_STOP=1 -v SRID=${SRID} -f ${DIR}/changelogs/0007/0007_support_photo2.sql +psql "service=${PGSERVICE}" -v ON_ERROR_STOP=1 -v SRID=${SRID} -f ${DIR}/changelogs/0007/0007_user_signs_img.sql + if [[ $demo_data == True ]]; then echo "*** inserting demo_data" diff --git a/project/images/official/editable/501.svg b/project/images/official/editable/501.svg index 2a02cbb6..c8ff5626 100644 --- a/project/images/official/editable/501.svg +++ b/project/images/official/editable/501.svg @@ -1,18 +1,18 @@ + inkscape:version="1.1.2 (b8e25be8, 2022-02-05)" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:dc="http://purl.org/dc/elements/1.1/"> @@ -21,7 +21,7 @@ image/svg+xml - + @@ -36,17 +36,18 @@ guidetolerance="10" inkscape:pageopacity="0" inkscape:pageshadow="2" - inkscape:window-width="1920" - inkscape:window-height="1017" + inkscape:window-width="1296" + inkscape:window-height="969" id="namedview1782" showgrid="false" inkscape:zoom="1.9049708" - inkscape:cx="67.245031" - inkscape:cy="-52.358529" - inkscape:window-x="5752" - inkscape:window-y="-8" - inkscape:window-maximized="1" - inkscape:current-layer="svg1780" /> + inkscape:cx="86.877972" + inkscape:cy="-51.706829" + inkscape:window-x="0" + inkscape:window-y="25" + inkscape:window-maximized="0" + inkscape:current-layer="g3043" + inkscape:pagecheckerboard="0" /> - - + - Signalo - v0.6.2 + Signalo - Demo @@ -21,141 +21,136 @@ - + - - - - - - - - - - - - + + - + - + - + - - + + + + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -167,32 +162,30 @@ OSM_ch_Swiss_Style_6887daaa_c829_4e55_b811_94db1c26b997 Landeskarten__farbig__a4d140cf_7103_4db6_a9bc_52ef09d7ea6b vw_edited_support_9e44c97f_e06b_4184_b445_881318a02e8b - Vue_signal__symbologie___virtual__9a897b24_9189_47cc_bdde_d062400999fe SWISSIMAGE_Fond_de_plan_7d61cf38_35d1_4208_a775_1d854d304e6f - + - - - - + + + - + - + - + - + - + @@ -200,10 +193,10 @@ meters - 2537807.89288781117647886 - 1152413.28888598154298961 - 2538110.57483816053718328 - 1152588.03610227373428643 + 2537410.40174736874178052 + 1152407.91259460733272135 + 2537733.11298700282350183 + 1152626.65052083530463278 0 @@ -224,140 +217,135 @@ - - - - - - - - - - - + Annotations_12d93f67_97ee_4956_a1a1_ce69a09e6c74 @@ -408,7 +396,7 @@ - + 2419995.7488073636777699 1027366.07117159408517182 @@ -479,97 +467,97 @@ 0 0 - + - + - + - - - + - - - + - + None @@ -609,13 +597,13 @@ - + resamplingFilter 0 - + -20037508.34278924390673637 -20037508.34278924763202667 @@ -687,97 +675,97 @@ 0 0 - + - + - + - - - + - - - + - + None @@ -817,13 +805,13 @@ - + resamplingFilter 0 - + 2419995.7488073636777699 1027366.07117159408517182 @@ -891,100 +879,100 @@ 1 1 - 1 + 0 0 - + - + - + - - - + - - - + - + None @@ -1019,41 +1012,29 @@ - + resamplingFilter 0 - - - 2537963.16934235533699393 - 1152455.01010819314979017 - 2537963.16934235533699393 - 1152455.01010819314979017 - - - 6.63018576557059447 - 46.52051139919917233 - 6.63018576557059447 - 46.52051139919917233 - - Vue_signal__symbologie___virtual__9a897b24_9189_47cc_bdde_d062400999fe - ?layer_ref=vw_sign_symbol_a4db15ac_b65f_46c3_b5d8_bcf3dbf10405:vw_sign_symbol_a4db15ac_b65f_46c3_b5d8_bcf3dbf10405&layer_ref=support_347aa750_1661_498f_a7e8_017adc616ba0:support_347aa750_1661_498f_a7e8_017adc616ba0&layer_ref=azimut_f5e94397_ee15_4ae1_95b8_af8a412676b3:azimut_f5e94397_ee15_4ae1_95b8_af8a412676b3&layer_ref=sign_2499f9bd_24a2_4384_b329_dc522a94c545:sign_2499f9bd_24a2_4384_b329_dc522a94c545&layer_ref=frame_b99392c7_2b01_4b3a_bde4_f003e2b838e4:frame_b99392c7_2b01_4b3a_bde4_f003e2b838e4&query=SELECT%20t.geometry,%20t.%22id%22,%20t.%22_inserted_date%22,%20t.%22_inserted_user%22,%20t.%22_last_modified_date%22,%20t.%22_last_modified_user%22,%20t.%22case_decision%22,%20t.%22case_id%22,%20t.%22comment%22,%20t.%22complex%22,%20t.%22dimension_1%22,%20t.%22dimension_2%22,%20t.%22fk_coating%22,%20t.%22fk_durability%22,%20t.%22fk_lighting%22,%20t.%22fk_marker_type%22,%20t.%22fk_mirror_shape%22,%20t.%22fk_official_sign%22,%20t.%22fk_owner%22,%20t.%22fk_parent%22,%20t.%22fk_provider%22,%20t.%22fk_sign_type%22,%20t.%22fk_status%22,%20t.%22inscription_1%22,%20t.%22inscription_2%22,%20t.%22inscription_3%22,%20t.%22installation_date%22,%20t.%22manufacturing_date%22,%20t.%22mirror_protruding%22,%20t.%22mirror_red_frame%22,%20t.%22picture%22,%20t.%22usr_sign_1%22,%20t.%22usr_sign_2%22,%20t.%22usr_sign_3%22,%20t.%22verso%22,%20t.%22azimut%22,%20t.%22frame_id%22,%20t.%22frame__inserted_date%22,%20t.%22frame__inserted_user%22,%20t.%22frame__last_modified_date%22,%20t.%22frame__last_modified_user%22,%20t.%22frame_comment%22,%20t.%22frame_dimension_1%22,%20t.%22frame_dimension_2%22,%20t.%22frame_double_sided%22,%20t.%22frame_fk_azimut%22,%20t.%22frame_fk_frame_fixing_type%22,%20t.%22frame_fk_frame_type%22,%20t.%22frame_fk_provider%22,%20t.%22frame_fk_status%22,%20t.%22frame_picture%22,%20t.%22frame_rank%22,%20t.%22frame_usr_frame_1%22,%20t.%22frame_usr_frame_2%22,%20t.%22frame_usr_frame_3%22,%20t.%22sign_rank%22,%20t.%22support_id%22,%20t.%22_symbol_value_de%22,%20t.%22_symbol_value_fr%22,%20t.%22_symbol_value_it%22,%20t.%22_symbol_value_ro%22,%20t.%22_img_de%22,%20t.%22_img_fr%22,%20t.%22_img_it%22,%20t.%22_img_ro%22,%20t.%22_symbol_height%22,%20t.%22_symbol_width%22,%20t.%22_final_rank%22,%20t.%22_symbol_shift%22,%20t.%22_previous_sign_in_frame%22,%20t.%22_next_sign_in_frame%22,%20t.%22_previous_frame%22,%20t.%22_next_frame%22,%20j1.%22_edited%22%20AS%20%22support__edited%22,%20j2.%22_edited%22%20AS%20%22azimut__edited%22,%20j3.%22_edited%22%20AS%20%22sign__edited%22,%20j4.%22_edited%22%20AS%20%22frame__edited%22%20FROM%20%22vw_sign_symbol_a4db15ac_b65f_46c3_b5d8_bcf3dbf10405%22%20AS%20t%20LEFT%20JOIN%20%22support_347aa750_1661_498f_a7e8_017adc616ba0%22%20AS%20j1%20ON%20t.%22support_id%22%3Dj1.%22id%22%20LEFT%20JOIN%20%22azimut_f5e94397_ee15_4ae1_95b8_af8a412676b3%22%20AS%20j2%20ON%20t.%22frame_fk_azimut%22%3Dj2.%22id%22%20LEFT%20JOIN%20%22sign_2499f9bd_24a2_4384_b329_dc522a94c545%22%20AS%20j3%20ON%20t.%22id%22%3Dj3.%22id%22%20LEFT%20JOIN%20%22frame_b99392c7_2b01_4b3a_bde4_f003e2b838e4%22%20AS%20j4%20ON%20t.%22frame_id%22%3Dj4.%22id%22&uid=id&geometry=geometry:1:2056&field=id:text&field=_inserted_date:text&field=_inserted_user:text&field=_last_modified_date:text&field=_last_modified_user:text&field=case_decision:text&field=case_id:text&field=comment:text&field=complex:int&field=dimension_1:real&field=dimension_2:real&field=fk_coating:int&field=fk_durability:int&field=fk_lighting:int&field=fk_marker_type:int&field=fk_mirror_shape:int&field=fk_official_sign:text&field=fk_owner:text&field=fk_parent:text&field=fk_provider:text&field=fk_sign_type:int&field=fk_status:int&field=inscription_1:text&field=inscription_2:text&field=inscription_3:text&field=installation_date:text&field=manufacturing_date:text&field=mirror_protruding:int&field=mirror_red_frame:int&field=picture:text&field=usr_sign_1:text&field=usr_sign_2:text&field=usr_sign_3:text&field=verso:int&field=azimut:int&field=frame_id:text&field=frame__inserted_date:text&field=frame__inserted_user:text&field=frame__last_modified_date:text&field=frame__last_modified_user:text&field=frame_comment:text&field=frame_dimension_1:real&field=frame_dimension_2:real&field=frame_double_sided:int&field=frame_fk_azimut:text&field=frame_fk_frame_fixing_type:int&field=frame_fk_frame_type:int&field=frame_fk_provider:text&field=frame_fk_status:int&field=frame_picture:text&field=frame_rank:int&field=frame_usr_frame_1:text&field=frame_usr_frame_2:text&field=frame_usr_frame_3:text&field=sign_rank:int&field=support_id:text&field=_symbol_value_de:text&field=_symbol_value_fr:text&field=_symbol_value_it:text&field=_symbol_value_ro:text&field=_img_de:text&field=_img_fr:text&field=_img_it:text&field=_img_ro:text&field=_symbol_height:int&field=_symbol_width:int&field=_final_rank:int&field=_symbol_shift:int&field=_previous_sign_in_frame:text&field=_next_sign_in_frame:text&field=_previous_frame:text&field=_next_frame:text&field=support__edited:int&field=azimut__edited:int&field=sign__edited:int&field=frame__edited:int&subsetstring=%22inscription_1%22%20%3D%20%27Lausanne%27 + + azimut_f5e94397_ee15_4ae1_95b8_af8a412676b3 + service='pg_signalo' sslmode=disable key='id' checkPrimaryKeyUnicity='1' table="signalo_db"."azimut" - Vue filtrage + Azimut - PROJCRS["CH1903+ / LV95",BASEGEOGCRS["CH1903+",DATUM["CH1903+",ELLIPSOID["Bessel 1841",6377397.155,299.1528128,LENGTHUNIT["metre",1]]],PRIMEM["Greenwich",0,ANGLEUNIT["degree",0.0174532925199433]],ID["EPSG",4150]],CONVERSION["Swiss Oblique Mercator 1995",METHOD["Hotine Oblique Mercator (variant B)",ID["EPSG",9815]],PARAMETER["Latitude of projection centre",46.9524055555556,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8811]],PARAMETER["Longitude of projection centre",7.43958333333333,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8812]],PARAMETER["Azimuth of initial line",90,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8813]],PARAMETER["Angle from Rectified to Skew Grid",90,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8814]],PARAMETER["Scale factor on initial line",1,SCALEUNIT["unity",1],ID["EPSG",8815]],PARAMETER["Easting at projection centre",2600000,LENGTHUNIT["metre",1],ID["EPSG",8816]],PARAMETER["Northing at projection centre",1200000,LENGTHUNIT["metre",1],ID["EPSG",8817]]],CS[Cartesian,2],AXIS["(E)",east,ORDER[1],LENGTHUNIT["metre",1]],AXIS["(N)",north,ORDER[2],LENGTHUNIT["metre",1]],USAGE[SCOPE["Cadastre, engineering survey, topographic mapping (large and medium scale)."],AREA["Liechtenstein; Switzerland."],BBOX[45.82,5.96,47.81,10.49]],ID["EPSG",2056]] - +proj=somerc +lat_0=46.9524055555556 +lon_0=7.43958333333333 +k_0=1 +x_0=2600000 +y_0=1200000 +ellps=bessel +towgs84=674.374,15.056,405.346,0,0,0,0 +units=m +no_defs - 47 - 2056 - EPSG:2056 - CH1903+ / LV95 - somerc - EPSG:7004 + + + 0 + 0 + + + + false @@ -1061,9 +1042,18 @@ - + dataset + + + + + + + + + @@ -1080,17 +1070,19 @@ false - + + + + + + + + + - virtual + postgres - - - - - - - + @@ -1099,2522 +1091,397 @@ - 0 + 1 1 1 0 - + - + - + - - - + - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0 - 0 - 1 - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + + + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - + + - + - + - + - + - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - + + - - + + - + - + - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0 - - # -*- coding: utf-8 -*- -""" -QGIS forms can have a Python function that is called when the form is -opened. - -Use this function to add extra logic to your forms. - -Enter the name of the function in the "Python Init function" -field. -An example follows: -""" -from qgis.PyQt.QtWidgets import QWidget - -def my_form_open(dialog, layer, feature): - geom = feature.geometry() - control = dialog.findChild(QWidget, "MyLineEdit") - - 0 - tablayout - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - concat("fk_official_sign",' ', "_symbol_value_fr") - - - - azimut_f5e94397_ee15_4ae1_95b8_af8a412676b3 - service='pg_signalo' sslmode=disable key='id' checkPrimaryKeyUnicity='1' table="signalo_db"."azimut" - - - - Azimut - - - - - 0 - 0 - - - - - false - - - - - - - dataset - - - - - - - - - - - - - - - - - - - 0 - 0 - - - - - false - - - - - - - - - - - - - postgres - - - - - - - - - - - 1 - 1 - 1 - 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + - - - - - - - - - - - + + + + + + + + + + + + + - - - - - - - - - - - + + + + + + + + + + + + + - - - - - - - - - - - + + + + + + + + + + + + + - + - - - - - - - - - - - - + + + + + + + + + + + + + + @@ -3646,48 +1513,59 @@ def my_form_open(dialog, layer, feature): 0 tablayout - - + + - - - + + + - - - + + + - - - + + + - - - + + + - - - - + + + + + + + + + + + + + - - - - - - - - - - - + + + + + + + + + + + + + @@ -3698,42 +1576,46 @@ def my_form_open(dialog, layer, feature): + + - - - - - - - - - - - + + + + + + + + + + + + + - - + + - - + + COALESCE( "azimut", '<NULL>' ) - + coating_7ea56753_207f_4981_84ef_635958fc4808 service='pg_signalo' sslmode=disable key='id' checkPrimaryKeyUnicity='1' table="signalo_db"."vl_coating" @@ -3794,138 +1676,138 @@ def my_form_open(dialog, layer, feature): 1 0 - + - + - + - - - + - - - + - - - + - + - + - + - + - + - + - + - + @@ -3994,42 +1876,42 @@ def my_form_open(dialog, layer, feature): - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - + @@ -4052,7 +1934,7 @@ def my_form_open(dialog, layer, feature): - + durability_a4cef524_85b2_4913_84a1_926afcce6000 service='pg_signalo' sslmode=disable key='id' checkPrimaryKeyUnicity='1' table="signalo_db"."vl_durability" @@ -4113,138 +1995,138 @@ def my_form_open(dialog, layer, feature): 1 0 - + - + - + - - - + - - - + - - - + - + - + - + - + - + - + - + - + @@ -4313,42 +2195,42 @@ def my_form_open(dialog, layer, feature): - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - + @@ -4371,7 +2253,7 @@ def my_form_open(dialog, layer, feature): - + frame_b99392c7_2b01_4b3a_bde4_f003e2b838e4 service='pg_signalo' sslmode=disable key='id' checkPrimaryKeyUnicity='1' table="signalo_db"."frame" @@ -4424,7 +2306,7 @@ def my_form_open(dialog, layer, feature): - + @@ -4449,138 +2331,138 @@ def my_form_open(dialog, layer, feature): 1 0 - + - + - + - - - + - - - + - - - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + + + + + + + - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - + - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + @@ -5038,101 +2931,107 @@ def my_form_open(dialog, layer, feature): 0 tablayout - - + + - - - + + + + + + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + @@ -5140,6 +3039,7 @@ def my_form_open(dialog, layer, feature): + @@ -5157,46 +3057,47 @@ def my_form_open(dialog, layer, feature): - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - + + - - + + COALESCE( "rank", '<NULL>' ) - + frame_fixing_type_63843528_0c72_40f3_957a_7147d1820e7c service='pg_signalo' sslmode=disable key='id' checkPrimaryKeyUnicity='1' table="signalo_db"."vl_frame_fixing_type" @@ -5257,138 +3158,138 @@ def my_form_open(dialog, layer, feature): 1 0 - + - + - + - - - + - - - + - - - + - + - + - + - + - + - + - + - + @@ -5457,42 +3358,42 @@ def my_form_open(dialog, layer, feature): - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - + @@ -5515,7 +3416,7 @@ def my_form_open(dialog, layer, feature): - + frame_type_497d77ea_a95f_41cd_8c09_df811ac9635d service='pg_signalo' sslmode=disable key='id' checkPrimaryKeyUnicity='1' table="signalo_db"."vl_frame_type" @@ -5576,138 +3477,138 @@ def my_form_open(dialog, layer, feature): 1 0 - + - + - + - - - + - - - + - - - + - + - + - + - + - + - + - + - + @@ -5776,42 +3677,42 @@ def my_form_open(dialog, layer, feature): - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - + @@ -5834,7 +3735,7 @@ def my_form_open(dialog, layer, feature): - + lighting_c690da23_6bac_4bb9_ae77_84d1c461a41c service='pg_signalo' sslmode=disable key='id' checkPrimaryKeyUnicity='1' table="signalo_db"."vl_lighting" @@ -5895,138 +3796,138 @@ def my_form_open(dialog, layer, feature): 1 0 - + - + - + - - - + - - - + - - - + - + - + - + - + - + - + - + - + @@ -6095,49 +3996,49 @@ def my_form_open(dialog, layer, feature): - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - + - - - - - - + + + + + + @@ -6160,7 +4061,7 @@ def my_form_open(dialog, layer, feature): "value_en" - + marker_type_92d19509_ce38_40d9_bac4_eecb4dff3273 service='pg_signalo' sslmode=disable key='id' checkPrimaryKeyUnicity='0' table="signalo_db"."vl_marker_type" @@ -6213,7 +4114,7 @@ def my_form_open(dialog, layer, feature): - + @@ -6238,138 +4139,138 @@ def my_form_open(dialog, layer, feature): 1 0 - + - + - + - - - + - - - + - - - + - + - + - + - + - + - + - + @@ -6444,50 +4345,50 @@ def my_form_open(dialog, layer, feature): - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - + - - - - - - - + + + + + + + @@ -6519,12 +4420,12 @@ def my_form_open(dialog, layer, feature): 0 generatedlayout - - - - - - + + + + + + @@ -6535,19 +4436,19 @@ def my_form_open(dialog, layer, feature): - - - - - - + + + + + + "value_de" - + mirror_shape_96db4de4_ebf8_43e1_8365_5c16d28719bc service='pg_signalo' sslmode=disable key='id' checkPrimaryKeyUnicity='0' table="signalo_db"."vl_mirror_shape" @@ -6600,7 +4501,7 @@ def my_form_open(dialog, layer, feature): - + @@ -6625,138 +4526,138 @@ def my_form_open(dialog, layer, feature): 1 0 - + - + - + - - - + - - - + - - - + - + - + - + - + - + - + - + @@ -6838,50 +4739,50 @@ def my_form_open(dialog, layer, feature): - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - + - - - - - - - + + + + + + + @@ -6913,12 +4814,12 @@ def my_form_open(dialog, layer, feature): 0 generatedlayout - - - - - - + + + + + + @@ -6929,19 +4830,19 @@ def my_form_open(dialog, layer, feature): - - - - - - + + + + + + "value_de" - + official_sign_02419ef5_80b5_48e3_869b_58a12167b0ae service='pg_signalo' sslmode=disable key='id' checkPrimaryKeyUnicity='1' table="signalo_db"."vl_official_sign" @@ -7002,138 +4903,138 @@ def my_form_open(dialog, layer, feature): 1 0 - + - + - + - - - + - - - + - - - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -7310,125 +5246,145 @@ def my_form_open(dialog, layer, feature): - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + @@ -7448,10 +5404,10 @@ def my_form_open(dialog, layer, feature): - "id" || ' ' || attribute('value_' || @qgis_locale ) + "id" || ' ' || attribute(concat('value_',@qgis_locale)) - + owner_4e532508_fa34_406c_8846_8f8306ca74ee service='pg_signalo' sslmode=disable key='id' checkPrimaryKeyUnicity='1' table="signalo_db"."vl_owner" @@ -7504,7 +5460,7 @@ def my_form_open(dialog, layer, feature): - + @@ -7529,138 +5485,138 @@ def my_form_open(dialog, layer, feature): 1 0 - + - + - + - - - + - - - + - - - + - + - + - + - + - + - + - + - + - + - + - + - - - - - - - - - - + + + + + + + + + + - - - - - - - - - - + + + + + + + + + + - - - - - - - - - - + + + + + + + + + + - - - - - - - - - - + + + + + + + + + + - + - - - - - - - - - - - + + + + + + + + + + + @@ -7874,16 +5830,16 @@ def my_form_open(dialog, layer, feature): 0 generatedlayout - - - - - - - - - - + + + + + + + + + + @@ -7898,23 +5854,23 @@ def my_form_open(dialog, layer, feature): - - - - - - - - - - + + + + + + + + + + "name" - + provider_4ab3ab90_0529_498a_8d27_4debfbbe453a service='pg_signalo' sslmode=disable key='id' checkPrimaryKeyUnicity='0' table="signalo_db"."vl_provider" @@ -7967,7 +5923,7 @@ def my_form_open(dialog, layer, feature): - + @@ -7992,138 +5948,138 @@ def my_form_open(dialog, layer, feature): 1 0 - + - + - + - - - + - - - + - - - + - + - + - + - + - + - + - + - + - + - + - + - - - - - - - - - - + + + + + + + + + + - - - - - - - - - - + + + + + + + + + + - - - - - - - - - - + + + + + + + + + + - - - - - - - - - - + + + + + + + + + + - + - - - - - - - - - - - + + + + + + + + + + + @@ -8334,16 +6290,16 @@ def my_form_open(dialog, layer, feature): 0 generatedlayout - - - - - - - - - - + + + + + + + + + + @@ -8358,23 +6314,23 @@ def my_form_open(dialog, layer, feature): - - - - - - - - - - + + + + + + + + + + "name" - + sign_2499f9bd_24a2_4384_b329_dc522a94c545 service='pg_signalo' sslmode=disable key='id' checkPrimaryKeyUnicity='1' table="signalo_db"."sign" @@ -8427,7 +6383,7 @@ def my_form_open(dialog, layer, feature): - + @@ -8438,8 +6394,8 @@ def my_form_open(dialog, layer, feature): postgres - - + + @@ -8455,138 +6411,138 @@ def my_form_open(dialog, layer, feature): 1 0 - + - + - + - - - + - - - + - - - + - + - + - + - + - + - + - + - - - - - - - - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + + + + + + + - + + + + + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -9455,410 +7453,440 @@ def my_form_open(dialog, layer, feature): - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -9890,293 +7918,306 @@ def my_form_open(dialog, layer, feature): 0 tablayout - - + + - - - + + + - - - - - - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + + + + + + + + + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -10205,6 +8246,7 @@ def my_form_open(dialog, layer, feature): + @@ -10214,6 +8256,7 @@ def my_form_open(dialog, layer, feature): + @@ -10223,11 +8266,16 @@ def my_form_open(dialog, layer, feature): + + + + + @@ -10237,6 +8285,7 @@ def my_form_open(dialog, layer, feature): + @@ -10283,113 +8332,121 @@ def my_form_open(dialog, layer, feature): - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + "id" - + sign_type_922b284e_5fef_4464_826e_755cf776cac5 service='pg_signalo' sslmode=disable key='id' checkPrimaryKeyUnicity='1' table="signalo_db"."vl_sign_type" @@ -10450,138 +8507,138 @@ def my_form_open(dialog, layer, feature): 1 0 - + - + - + - - - + - - - + - - - + - + - + - + - + - + - + - + - + @@ -10651,50 +8708,50 @@ def my_form_open(dialog, layer, feature): - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - + - - - - - - - + + + + + + + @@ -10717,7 +8774,7 @@ def my_form_open(dialog, layer, feature): "value_de" - + status_5f245030_6519_4c89_8eb9_987e8fac9a4d service='pg_signalo' sslmode=disable key='id' checkPrimaryKeyUnicity='1' table="signalo_db"."vl_status" @@ -10778,138 +8835,138 @@ def my_form_open(dialog, layer, feature): 1 0 - + - + - + - - - + - - - + - - - + - + - + - + - + - + - + - + - + @@ -10978,42 +9035,42 @@ def my_form_open(dialog, layer, feature): - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - + @@ -11036,17 +9093,17 @@ def my_form_open(dialog, layer, feature): - + - 2537421.28515252703800797 - 1152455.01010819314979017 + 2537381.93679434293881059 + 1152420.06054681539535522 2538449.47999999998137355 1152830.11123771546408534 - 6.62307361719564902 - 46.52046085733173442 - 6.63652284548480331 + 6.62256084096342956 + 46.52014279500794203 + 6.63652751045500366 46.52393046604050397 support_347aa750_1661_498f_a7e8_017adc616ba0 @@ -11101,7 +9158,7 @@ def my_form_open(dialog, layer, feature): - + @@ -11115,8 +9172,8 @@ def my_form_open(dialog, layer, feature): - - + + @@ -11129,181 +9186,181 @@ def my_form_open(dialog, layer, feature): 1 0 - + - + - + - - - + - - - + - - - + - + - - 0 0 1 - - - + + + - + - + @@ -11385,486 +9442,519 @@ def my_form_open(dialog, layer, feature): - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - + + - + + + + + + + + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - + - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -11896,128 +9986,141 @@ def my_form_open(dialog, layer, feature): 0 tablayout - - + + - - - + + + - - - + + + + + + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - + + + - - - + + + - - - + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -12039,57 +10142,61 @@ def my_form_open(dialog, layer, feature): + + - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + "id" - + support_base_type_fe9c67db_d588_4092_adef_496e922cfa4c service='pg_signalo' sslmode=disable key='id' checkPrimaryKeyUnicity='1' table="signalo_db"."vl_support_base_type" @@ -12150,138 +10257,138 @@ def my_form_open(dialog, layer, feature): 1 0 - + - + - + - - - + - - - + - - - + - + - + - + - + - + - + - + - + @@ -12350,42 +10457,42 @@ def my_form_open(dialog, layer, feature): - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - + @@ -12408,7 +10515,7 @@ def my_form_open(dialog, layer, feature): - + support_type_d8e8fb77_0ce7_4d23_bb9e_c12c12d412bf service='pg_signalo' sslmode=disable key='id' checkPrimaryKeyUnicity='1' table="signalo_db"."vl_support_type" @@ -12461,7 +10568,7 @@ def my_form_open(dialog, layer, feature): - + @@ -12486,138 +10593,138 @@ def my_form_open(dialog, layer, feature): 1 0 - + - + - + - - - + - - - + - - - + - + - + - + - + - + - + - + @@ -12691,49 +10798,49 @@ def my_form_open(dialog, layer, feature): - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - + - - - - - - + + + + + + @@ -12765,11 +10872,11 @@ def my_form_open(dialog, layer, feature): 0 generatedlayout - - - - - + + + + + @@ -12779,18 +10886,18 @@ def my_form_open(dialog, layer, feature): - - - - - + + + + + "value_en" - + vl_user_sign_c625b1d7_23e8_4c2b_a4d4_e027a23ebe9b service='pg_signalo' sslmode=disable key='id' checkPrimaryKeyUnicity='1' table="signalo_db"."vl_user_sign" @@ -12843,7 +10950,7 @@ def my_form_open(dialog, layer, feature): - + @@ -12868,138 +10975,138 @@ def my_form_open(dialog, layer, feature): 1 0 - + - + - + - - - + - - - + - - - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -13187,125 +11294,125 @@ def my_form_open(dialog, layer, feature): - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - + - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + @@ -13337,27 +11444,27 @@ def my_form_open(dialog, layer, feature): 0 generatedlayout - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + @@ -13383,44 +11490,44 @@ def my_form_open(dialog, layer, feature): - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - COALESCE( "id", '<NULL>' ) + "id" || ' ' || attribute(concat('value_',@qgis_locale)) - + - 2537421.28515252703800797 - 1152455.01010819314979017 + 2537381.93679434293881059 + 1152420.06054681539535522 2538449.47999999998137355 1152830.11123771546408534 - 6.62307361719564902 - 46.52046085733173442 - 6.63652284548480331 + 6.62256084096342956 + 46.52014279500794203 + 6.63652751045500366 46.52393046604050397 vw_edited_support_9e44c97f_e06b_4184_b445_881318a02e8b @@ -13483,224 +11590,224 @@ def my_form_open(dialog, layer, feature): 1 0 - + - + - + - - - + - - - + - - - + - + - - - + - - 0 0 1 - + - + - + - + - + @@ -13747,30 +11854,30 @@ def my_form_open(dialog, layer, feature): - - + + - - + + - - + + - - + + - + - - - + + + @@ -13793,21 +11900,21 @@ def my_form_open(dialog, layer, feature): "id" - + - 2537421.28515252703800797 - 1152455.01010819314979017 + 2537381.93679434293881059 + 1152420.06054681539535522 2538449.47999999998137355 1152830.11123771546408534 - 6.62307361719564902 - 46.52046085733173442 - 6.63652284548480331 + 6.62256084096342956 + 46.52014279500794203 + 6.63652751045500366 46.52393046604050397 vw_sign_symbol_a4db15ac_b65f_46c3_b5d8_bcf3dbf10405 - service='pg_signalo' sslmode=disable key='id' srid=2056 type=Point checkPrimaryKeyUnicity='1' table="signalo_app"."vw_sign_symbol" (support_geometry) + service='pg_signalo' sslmode=disable key='pk' srid=2056 type=Point checkPrimaryKeyUnicity='1' table="signalo_app"."vw_sign_symbol" (support_geometry) @@ -13858,7 +11965,7 @@ def my_form_open(dialog, layer, feature): - + @@ -13869,22 +11976,22 @@ def my_form_open(dialog, layer, feature): postgres - + - + - + - + @@ -13904,326 +12011,371 @@ def my_form_open(dialog, layer, feature): 1 0 - + - + - + - - - + - - - + - - - + - + - - - + - - - + - - - - + + + + - + - + - + - + - - - + + + 0 0 1 - - - + + + - + - + @@ -14428,789 +12580,1148 @@ def my_form_open(dialog, layer, feature): - + - + - + - + + + + + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + + + + + + + - + - + - + - + - + - + - + - + - - + + - + - + - + - + - + - + - + - - + + - + - + + + + + + + + + + + + + + + - + - + - + - + - + - + - + + + + + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - + - + - + - + - + - + - + - - + + - + - + - + - + - + @@ -15219,405 +13730,511 @@ def my_form_open(dialog, layer, feature): - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -15649,268 +14266,602 @@ def my_form_open(dialog, layer, feature): 0 tablayout - - + + - - - + + + - - - - - - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -15919,6 +14870,7 @@ def my_form_open(dialog, layer, feature): + @@ -15926,6 +14878,7 @@ def my_form_open(dialog, layer, feature): + @@ -15937,6 +14890,7 @@ def my_form_open(dialog, layer, feature): + @@ -15948,12 +14902,14 @@ def my_form_open(dialog, layer, feature): + + @@ -15970,6 +14926,8 @@ def my_form_open(dialog, layer, feature): + + @@ -15979,10 +14937,12 @@ def my_form_open(dialog, layer, feature): + + @@ -16006,93 +14966,112 @@ def my_form_open(dialog, layer, feature): - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + @@ -16112,7 +15091,6 @@ END - @@ -16262,9 +15240,9 @@ END @@ -16274,7 +15252,7 @@ END - Signalo - v0.6.2 + Signalo - Demo @@ -16291,83 +15269,83 @@ END - - - + + + - + - + - - - + + + - + - - - - - + + + - - - + + + - + - - - - + + + + - + - + - + - + PROJCRS["CH1903+ / LV95",BASEGEOGCRS["CH1903+",DATUM["CH1903+",ELLIPSOID["Bessel 1841",6377397.155,299.1528128,LENGTHUNIT["metre",1]]],PRIMEM["Greenwich",0,ANGLEUNIT["degree",0.0174532925199433]],ID["EPSG",4150]],CONVERSION["Swiss Oblique Mercator 1995",METHOD["Hotine Oblique Mercator (variant B)",ID["EPSG",9815]],PARAMETER["Latitude of projection centre",46.9524055555556,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8811]],PARAMETER["Longitude of projection centre",7.43958333333333,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8812]],PARAMETER["Azimuth of initial line",90,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8813]],PARAMETER["Angle from Rectified to Skew Grid",90,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8814]],PARAMETER["Scale factor on initial line",1,SCALEUNIT["unity",1],ID["EPSG",8815]],PARAMETER["Easting at projection centre",2600000,LENGTHUNIT["metre",1],ID["EPSG",8816]],PARAMETER["Northing at projection centre",1200000,LENGTHUNIT["metre",1],ID["EPSG",8817]]],CS[Cartesian,2],AXIS["(E)",east,ORDER[1],LENGTHUNIT["metre",1]],AXIS["(N)",north,ORDER[2],LENGTHUNIT["metre",1]],USAGE[SCOPE["Cadastre, engineering survey, topographic mapping (large and medium scale)."],AREA["Liechtenstein; Switzerland."],BBOX[45.82,5.96,47.81,10.49]],ID["EPSG",2056]] +proj=somerc +lat_0=46.9524055555556 +lon_0=7.43958333333333 +k_0=1 +x_0=2600000 +y_0=1200000 +ellps=bessel +towgs84=674.374,15.056,405.346,0,0,0,0 +units=m +no_defs @@ -16519,10 +15497,10 @@ END - + - + @@ -16531,29 +15509,29 @@ END diff --git a/scripts/run-docker.sh b/scripts/run-docker.sh index 4dbcc33d..9b746d60 100755 --- a/scripts/run-docker.sh +++ b/scripts/run-docker.sh @@ -2,7 +2,47 @@ set -e -docker build -f .docker/Dockerfile --tag opengisch/signalo . -docker run -d -p 5432:5432 -v $(pwd):/src --name signalo opengisch/signalo +# load env vars +# https://stackoverflow.com/a/20909045/1548052 +export $(grep -v '^#' .env | xargs) + +BUILD=0 +DEMO_DATA=0 +SIGNALO_PG_PORT=${TWW_PG_PORT:-5432} + +while getopts 'bdp:' opt; do + case "$opt" in + b) + echo "Rebuild docker image" + BUILD=1 + ;; + + d) + echo "Load demo data" + DEMO_DATA=1 + ;; + + p) + echo "Overriding PG port to ${OPTARG}" + TWW_PG_PORT=${OPTARG} + ;; + + + ?|h) + echo "Usage: $(basename $0) [-bd] [-p PG_PORT]" + exit 1 + ;; + esac +done +shift "$(($OPTIND -1))" + +if [[ $BUILD -eq 1 ]]; then + docker build -f .docker/Dockerfile --tag opengisch/signalo . +fi + +docker rm -f signalo || true +docker run -d -p ${SIGNALO_PG_PORT}:5432 -v $(pwd):/src --name signalo opengisch/signalo -c log_statement=all docker exec signalo init_db.sh wait -docker exec signalo init_db.sh build -d +if [[ $DEMO_DATA -eq 1 ]]; then + docker exec signalo init_db.sh build -d +fi diff --git a/test/official_sign_images.sh b/test/official_sign_images.sh index 27ec65bf..ffb68cbf 100755 --- a/test/official_sign_images.sh +++ b/test/official_sign_images.sh @@ -7,30 +7,47 @@ return_code=0 _IMG_DIRS=(editable original) for _IMG_DIR in "${_IMG_DIRS[@]}"; do + echo "checking $_IMG_DIR" DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )/../project/images/official/${_IMG_DIR} _LANGUAGES=(de fr it ro) for _LANGUAGE in "${_LANGUAGES[@]}"; do - IMAGES=$(psql -t -c "SELECT img_${_LANGUAGE} FROM signalo_db.vl_official_sign") - for IMAGE in ${IMAGES}; do - if [[ ! -f ${DIR}/${IMAGE} ]]; then - FID=$(psql -t -c "SELECT id FROM signalo_db.vl_official_sign WHERE img_${_LANGUAGE} = '${IMAGE}'") - echo "*** Image ${IMAGE} (id:${FID}) does not exist in ./project/images/official/${_IMG_DIR}" - return_code=1 + echo "language $_LANGUAGE" + LINES=$(psql --no-align --tuples-only -c "SELECT id, img_${_LANGUAGE}, img_${_LANGUAGE}_right, directional_sign FROM signalo_db.vl_official_sign") + while read -r LINE; do + FID=$(echo "$LINE" | cut -d\| -f1) + IMAGE=$(echo "$LINE" | cut -d\| -f2) + IMAGE_RIGHT=$(echo "$LINE" | cut -d\| -f3) + DIRECTIONAL=$(echo "$LINE" | cut -d\| -f4) + if [[ $DIRECTIONAL == "t" ]]; then + if [[ -z $IMAGE_RIGHT ]]; then + echo "*** For sign '${FID}', img_${_LANGUAGE}_right should be specified since it's directional." + return_code=1 + fi + IMAGES=("$IMAGE" "$IMAGE_RIGHT") + else + IMAGES=("$IMAGE") fi - done + for _IMAGE in "${IMAGES[@]}"; do + if [[ ! -f ${DIR}/${_IMAGE} ]]; then + echo "*** Image ${_IMAGE} (id:${FID}) does not exist in ./project/images/official/${_IMG_DIR}" + return_code=1 + fi + done + done <<< $LINES; done + echo "files" for FILE in ${DIR}/*.svg; do IMAGE=$(basename ${FILE}) - COUNT=$(psql -t -c "SELECT COUNT(id) FROM signalo_db.vl_official_sign WHERE img_de='${IMAGE}' OR img_fr='${IMAGE}' OR img_it='${IMAGE}' OR img_ro='${IMAGE}'") + COUNT=$(psql -t -c "SELECT COUNT(id) FROM signalo_db.vl_official_sign WHERE img_de='${IMAGE}' OR img_fr='${IMAGE}' OR img_it='${IMAGE}' OR img_ro='${IMAGE}' OR img_de_right='${IMAGE}' OR img_fr_right='${IMAGE}' OR img_it_right='${IMAGE}' OR img_ro_right='${IMAGE}'") if [[ ${COUNT} -ne "1" ]]; then echo "*** Image ${IMAGE} is not used once in signalo_db.vl_official_sign" return_code=1 elif [[ ${_IMG_DIR} = editable ]]; then ih=$(exiftool -ImageHeight ${FILE} | sed "s/.*: //;s/pt//g") iw=$(exiftool -ImageWidth ${FILE} | sed "s/.*: //;s/pt//g") - tsize=$(psql -t -c "SELECT img_width,img_height FROM signalo_db.vl_official_sign WHERE img_de='${IMAGE}' OR img_fr='${IMAGE}' OR img_it='${IMAGE}' OR img_ro='${IMAGE}'") + tsize=$(psql -t -c "SELECT img_width,img_height FROM signalo_db.vl_official_sign WHERE img_de='${IMAGE}' OR img_fr='${IMAGE}' OR img_it='${IMAGE}' OR img_ro='${IMAGE}' OR img_de_right='${IMAGE}' OR img_fr_right='${IMAGE}' OR img_it_right='${IMAGE}' OR img_ro_right='${IMAGE}'") tw=$(echo ${tsize} | cut -d\| -f1) th=$(echo ${tsize} | cut -d\| -f2) ir=$(echo "${ih}/${iw}" | bc -l) diff --git a/test/test_reordering.py b/test/test_reordering.py index 9f4d9d19..03e1cdb3 100644 --- a/test/test_reordering.py +++ b/test/test_reordering.py @@ -38,32 +38,35 @@ def test_reorder_signs_in_rank(self): ) row = { - "frame_fk_azimut": azimut_id, - "frame_rank": 1, - "frame_fk_frame_type": 1, - "frame_fk_frame_fixing_type": 1, - "frame_fk_status": 1, - "sign_rank": 1, + "fk_azimut": azimut_id, + "fk_frame_type": 1, + "fk_frame_fixing_type": 1, + "fk_status": 1, + } + + frame_id = self.insert("frame", row) + + row = { + "fk_frame": frame_id, "fk_sign_type": 1, "fk_official_sign": "1.01", "fk_durability": 1, "fk_status": 1, "comment": "1", } - sign_ids = [self.insert("vw_sign_symbol", row, schema="signalo_app")] - frame_id = self.select("sign", sign_ids[0])["fk_frame"] - row["frame_id"] = frame_id + row["fk_frame"] = frame_id + sign_ids = [] - for i in range(2, 6): - row["sign_rank"] = i + for i in range(1, 6): + row["rank"] = i row["comment"] = str(i) - sign_ids.append(self.insert("vw_sign_symbol", row, schema="signalo_app")) + sign_ids.append(self.insert("sign", row)) self.assertEqual(self.count("sign"), sign_count + 5) self.assertEqual(self.count("frame"), frame_count + 1) - self.delete("vw_sign_symbol", sign_ids[1], schema="signalo_app") + self.delete("sign", sign_ids[1]) self.check({"rank": 1, "comment": "1"}, "sign", sign_ids[0]) self.check({"rank": 2, "comment": "3"}, "sign", sign_ids[2]) diff --git a/test/test_view_sign_symbol.py b/test/test_view_sign_symbol.py deleted file mode 100644 index 87a4d95a..00000000 --- a/test/test_view_sign_symbol.py +++ /dev/null @@ -1,295 +0,0 @@ -import os -import unittest - -import psycopg2 -import psycopg2.extras - -from .utils import DbTestBase - - -class TestViews(unittest.TestCase, DbTestBase): - @classmethod - def tearDownClass(cls) -> None: - cls.conn.close() - - @classmethod - def tearDown(cls) -> None: - cls.conn.rollback() - - @classmethod - def setUpClass(cls): - pg_service = os.environ.get("PGSERVICE") or "signalo" - cls.conn = psycopg2.connect(f"service={pg_service}") - - def test_view_values(self): - self.execute(open("test/test_data.sql").read()) - - data = [ - { - "id": "00000000-0000-0000-eeee-000001010101", - "row": { - "azimut": 15, - "_final_rank": 1, - "_previous_sign_in_frame": None, - "_next_sign_in_frame": "00000000-0000-0000-eeee-000001010102", - "_previous_frame": None, - "_next_frame": None, - }, - }, - { - "id": "00000000-0000-0000-eeee-000001010102", - "row": { - "azimut": 15, - "_final_rank": 2, - "_previous_sign_in_frame": "00000000-0000-0000-eeee-000001010101", - "_next_sign_in_frame": None, - "_previous_frame": None, - "_next_frame": "00000000-0000-0000-ffff-000000010102", - }, - }, - { - "id": "00000000-0000-0000-eeee-000001010201", - "row": { - "azimut": 15, - "_final_rank": 3, - "_previous_sign_in_frame": None, - "_next_sign_in_frame": None, - "_previous_frame": "00000000-0000-0000-ffff-000000010101", - "_next_frame": None, - }, - }, - { - "id": "00000000-0000-0000-eeee-000001020101", - "row": { - "azimut": 175, - "_final_rank": 1, - "_previous_sign_in_frame": None, - "_next_sign_in_frame": None, - "_previous_frame": None, - "_next_frame": "00000000-0000-0000-ffff-000000010202", - }, - }, - { - "id": "00000000-0000-0000-eeee-000001020201", - "row": { - "azimut": 175, - "_final_rank": 2, - "_previous_sign_in_frame": None, - "_next_sign_in_frame": None, - "_previous_frame": "00000000-0000-0000-ffff-000000010201", - "_next_frame": "00000000-0000-0000-ffff-000000010203", - }, - }, - { - "id": "00000000-0000-0000-eeee-000001020301", - "row": { - "azimut": 175, - "_final_rank": 3, - "_previous_sign_in_frame": None, - "_next_sign_in_frame": None, - "_previous_frame": "00000000-0000-0000-ffff-000000010202", - "_next_frame": None, - }, - }, - { - "id": "00000000-0000-0000-eeee-000001030101", - "row": { - "azimut": 235, - "_final_rank": 1, - "_previous_sign_in_frame": None, - "_next_sign_in_frame": None, - "_previous_frame": None, - "_next_frame": "00000000-0000-0000-ffff-000000010302", - }, - }, - { - "id": "00000000-0000-0000-eeee-000001030201", - "row": { - "azimut": 235, - "_final_rank": 2, - "_previous_sign_in_frame": None, - "_next_sign_in_frame": None, - "_previous_frame": "00000000-0000-0000-ffff-000000010301", - "_next_frame": None, - }, - }, - { - "id": "00000000-0000-0000-eeee-000002010101", - "row": { - "azimut": 47, - "_final_rank": 1, - "_previous_sign_in_frame": None, - "_next_sign_in_frame": None, - "_previous_frame": None, - "_next_frame": None, - }, - }, - { - "id": "00000000-0000-0000-eeee-000002020101", - "row": { - "azimut": 165, - "_final_rank": 1, - "_previous_sign_in_frame": None, - "_next_sign_in_frame": None, - "_previous_frame": None, - "_next_frame": "00000000-0000-0000-ffff-000000020202", - }, - }, - { - "id": "00000000-0000-0000-eeee-000002020201", - "row": { - "azimut": 165, - "_final_rank": 2, - "_previous_sign_in_frame": None, - "_next_sign_in_frame": "00000000-0000-0000-eeee-000002020202", - "_previous_frame": "00000000-0000-0000-ffff-000000020201", - "_next_frame": None, - }, - }, - { - "id": "00000000-0000-0000-eeee-000002020202", - "row": { - "azimut": 165, - "_final_rank": 3, - "_previous_sign_in_frame": "00000000-0000-0000-eeee-000002020201", - "_next_sign_in_frame": "00000000-0000-0000-eeee-000002020203", - "_previous_frame": None, - "_next_frame": None, - }, - }, - { - "id": "00000000-0000-0000-eeee-000002020203", - "row": { - "azimut": 165, - "_final_rank": 4, - "_previous_sign_in_frame": "00000000-0000-0000-eeee-000002020202", - "_next_sign_in_frame": None, - "_previous_frame": None, - "_next_frame": "00000000-0000-0000-ffff-000000020203", - }, - }, - { - "id": "00000000-0000-0000-eeee-000002020301", - "row": { - "azimut": 165, - "_final_rank": 5, - "_previous_sign_in_frame": None, - "_next_sign_in_frame": None, - "_previous_frame": "00000000-0000-0000-ffff-000000020202", - "_next_frame": "00000000-0000-0000-ffff-000000020204", - }, - }, - { - "id": "00000000-0000-0000-eeee-000002020401", - "row": { - "azimut": 165, - "_final_rank": 6, - "_previous_sign_in_frame": None, - "_next_sign_in_frame": None, - "_previous_frame": "00000000-0000-0000-ffff-000000020203", - "_next_frame": None, - }, - }, - ] - for row in data: - self.check(row["row"], "vw_sign_symbol", row["id"], schema="signalo_app") - - def test_insert(self): - support_id = self.insert_check( - "support", - { - "geometry": self.execute_select( - "ST_SetSRID(ST_MakePoint(2600000, 1200000), 2056)" - ) - }, - ) - azimut_id = self.insert_check( - "azimut", {"azimut": 100, "fk_support": support_id} - ) - - row = { - "frame_fk_azimut": azimut_id, - "frame_rank": 1, - "frame_fk_frame_type": 1, - "frame_fk_frame_fixing_type": 1, - "frame_fk_status": 1, - "sign_rank": 1, - "fk_sign_type": 1, - "fk_official_sign": "1.01", - "fk_durability": 1, - "fk_status": 1, - } - - sign_id = self.insert("vw_sign_symbol", row, schema="signalo_app") - frame_id = self.select("sign", sign_id)["fk_frame"] - - row = {"fk_azimut": azimut_id} - self.update_check("frame", row, frame_id) - - def test_update(self): - self.execute(open("test/test_data.sql").read()) - - row = { - "fk_sign_type": 2, - "frame_fk_frame_type": 2, - } - - self.update_check( - "vw_sign_symbol", - row, - "00000000-0000-0000-eeee-000002010101", - schema="signalo_app", - ) - - def test_delete(self): - frame_count = self.count("frame") - sign_count = self.count("sign") - - support_id = self.insert_check( - "support", - { - "geometry": self.execute_select( - "ST_SetSRID(ST_MakePoint(2600000, 1200000), 2056)" - ) - }, - ) - azimut_id = self.insert_check( - "azimut", {"azimut": 100, "fk_support": support_id} - ) - - row = { - "frame_fk_azimut": azimut_id, - "frame_rank": 1, - "frame_fk_frame_type": 1, - "frame_fk_frame_fixing_type": 1, - "frame_fk_status": 1, - "sign_rank": 1, - "fk_sign_type": 1, - "fk_official_sign": "1.01", - "fk_durability": 1, - "fk_status": 1, - } - sign_id_1 = self.insert("vw_sign_symbol", row, schema="signalo_app") - frame_id = self.select("sign", sign_id_1)["fk_frame"] - - row["sign_rank"] = 2 - row["frame_id"] = frame_id - - sign_id_2 = self.insert("vw_sign_symbol", row, schema="signalo_app") - - self.assertEqual(self.count("sign"), sign_count + 2) - self.assertEqual(self.count("frame"), frame_count + 1) - - self.delete("vw_sign_symbol", sign_id_2, schema="signalo_app") - - self.assertEqual(self.count("sign"), sign_count + 1) - self.assertEqual(self.count("frame"), frame_count + 1) - - self.delete("vw_sign_symbol", sign_id_1, schema="signalo_app") - - self.assertEqual(self.count("sign"), sign_count) - self.assertEqual(self.count("frame"), frame_count) - - -if __name__ == "__main__": - unittest.main() diff --git a/test/utils.py b/test/utils.py index 884d39d6..c7ce0b71 100644 --- a/test/utils.py +++ b/test/utils.py @@ -54,27 +54,27 @@ def update(self, table, row, id, schema="signalo_db"): row, ) - def delete(self, table, id, schema="signalo_db"): + def delete(self, table, fid, schema="signalo_db"): cur = self.conn.cursor() cur.execute( "DELETE FROM {schema}.{table} WHERE id=%s".format( table=table, schema=schema ), - [id], + [fid], ) - def insert_check(self, table, row, expected_row=None, schema="signalo_db"): - id = self.insert(table, row, schema) - result = self.select(table, id, schema) + def insert_check(self, table, row, expected_row=None, schema="signalo_db") -> str: + fid = self.insert(table, row, schema) + result = self.select(table, fid, schema) - assert result, id + assert result, fid if expected_row: row = expected_row self.check_result(row, result, table, "insert", schema) - return id + return fid def update_check(self, table, row, id, schema="signalo_db"): self.update(table, row, id, schema) diff --git a/website/documentation/data-model.fr.md b/website/documentation/data-model.fr.md index 94cbebcf..df730818 100644 --- a/website/documentation/data-model.fr.md +++ b/website/documentation/data-model.fr.md @@ -27,4 +27,4 @@ La description complète du modèle de données se trouve [ici](https://www.sign ## Mise à jour des données -La structure des données peut évoluer d'une release à une autre. Si votre base de données est déjà en place, les mises à jour peuvent facilement être faites grâce à des fichiers de migration `sql`. Ainsi, la structure est actualisée sans modification des données existantes. +La structure des données peut évoluer d'une release à une autre. Si votre base de données est déjà en place, les mises à jour peuvent facilement être faites grâce à des fichiers de migration `sql`. Ainsi, la structure est actualisée sans modification des données existantes.