Skip to content

Commit

Permalink
Moved publish_state to norm_manifestation
Browse files Browse the repository at this point in the history
RISDEV-0000
  • Loading branch information
VictorDelCampo committed Feb 3, 2025
1 parent 4749a77 commit ecf6dce
Showing 1 changed file with 38 additions and 31 deletions.
69 changes: 38 additions & 31 deletions src/import_from_migration.sql
Original file line number Diff line number Diff line change
Expand Up @@ -15,44 +15,51 @@ DELETE FROM :NORMS_SCHEMA.dokumente WHERE
DELETE FROM norms.norm_manifestation WHERE
-- keep our seeds, for now
eli_norm_manifestation NOT IN (
'eli/bund/bgbl-1/1964/s593/1964-08-05/1/deu/1964-08-05',
'eli/bund/bgbl-1/1990/s2954/2022-12-19/1/deu/1990-12-20',
'eli/bund/bgbl-1/1000/1/1000-01-01/1/deu/1000-01-01',
'eli/bund/bgbl-1/2009/s3366/2023-12-23/1/deu/2023-12-23',
'eli/bund/bgbl-1/1001/1/1001-01-01/1/deu/1001-01-01',
'eli/bund/bgbl-1/1002/1/1002-01-01/1/deu/1002-01-01'
'eli/bund/bgbl-1/1964/s593/1964-08-05/1/deu/1964-08-05',
'eli/bund/bgbl-1/1990/s2954/2022-12-19/1/deu/1990-12-20',
'eli/bund/bgbl-1/1000/1/1000-01-01/1/deu/1000-01-01',
'eli/bund/bgbl-1/2009/s3366/2023-12-23/1/deu/2023-12-23',
'eli/bund/bgbl-1/1001/1/1001-01-01/1/deu/1001-01-01',
'eli/bund/bgbl-1/1002/1/1002-01-01/1/deu/1002-01-01'
);
DELETE FROM norms.norm_expression WHERE
-- keep our seeds, for now
eli_norm_expression NOT IN (
'eli/bund/bgbl-1/1964/s593/1964-08-05/1/deu',
'eli/bund/bgbl-1/1990/s2954/2022-12-19/1/deu',
'eli/bund/bgbl-1/1000/1/1000-01-01/1/deu',
'eli/bund/bgbl-1/2009/s3366/2023-12-23/1/deu',
'eli/bund/bgbl-1/1001/1/1001-01-01/1/deu',
'eli/bund/bgbl-1/1002/1/1002-01-01/1/deu'
'eli/bund/bgbl-1/1964/s593/1964-08-05/1/deu',
'eli/bund/bgbl-1/1990/s2954/2022-12-19/1/deu',
'eli/bund/bgbl-1/1000/1/1000-01-01/1/deu',
'eli/bund/bgbl-1/2009/s3366/2023-12-23/1/deu',
'eli/bund/bgbl-1/1001/1/1001-01-01/1/deu',
'eli/bund/bgbl-1/1002/1/1002-01-01/1/deu'
);

-- Insert into norms table and count the rows inserted using CTE
WITH inserted_rows AS (
INSERT INTO :NORMS_SCHEMA.dokumente (xml, publish_state)
SELECT ldml_xml.content, 'QUEUED_FOR_PUBLISH'
FROM :MIGRATION_SCHEMA.migration_record
INNER JOIN :MIGRATION_SCHEMA.ldml ldml ON migration_record.id = ldml.migration_record_id
INNER JOIN :MIGRATION_SCHEMA.ldml_xml ldml_xml ON ldml.id = ldml_xml.ldml_id
LEFT OUTER JOIN :MIGRATION_SCHEMA.migration_error migration_error ON
migration_record.id = migration_error.migration_record_id
AND migration_error.description NOT LIKE '%SCH-00210-005%'
AND migration_error.description NOT LIKE '%SCH-00200-005%'
WHERE
migration_status IN ('LEGALDOCML_TRANSFORMATION_SUCCEEDED', 'LEGALDOCML_VALIDATION_FAILED')
AND ldml_xml.type = 'regelungstext'
AND migration_error.id IS NULL
ON CONFLICT DO NOTHING -- ensures duplicates are ignored
RETURNING *
-- Insert into dokumente table and track inserted rows
WITH inserted_dokumente AS (
INSERT INTO :NORMS_SCHEMA.dokumente (xml)
SELECT ldml_xml.content
FROM :MIGRATION_SCHEMA.migration_record
INNER JOIN :MIGRATION_SCHEMA.ldml ldml ON migration_record.id = ldml.migration_record_id
INNER JOIN :MIGRATION_SCHEMA.ldml_xml ldml_xml ON ldml.id = ldml_xml.ldml_id
LEFT OUTER JOIN :MIGRATION_SCHEMA.migration_error migration_error ON
migration_record.id = migration_error.migration_record_id
AND migration_error.description NOT LIKE '%SCH-00210-005%'
AND migration_error.description NOT LIKE '%SCH-00200-005%'
WHERE
migration_status IN ('LEGALDOCML_TRANSFORMATION_SUCCEEDED', 'LEGALDOCML_VALIDATION_FAILED')
AND ldml_xml.type = 'regelungstext'
AND migration_error.id IS NULL
ON CONFLICT DO NOTHING -- ensures duplicates are ignored
RETURNING eli_norm_manifestation
)

-- Insert into migration_log the number of rows inserted using the CTE
-- Log the number of inserted rows
INSERT INTO :NORMS_SCHEMA.migration_log (size)
SELECT COUNT(*) FROM inserted_rows;
SELECT COUNT(*) FROM inserted_dokumente;

-- Update publish_state in norm_manifestation only for entries related to inserted dokumente
UPDATE :NORMS_SCHEMA.norm_manifestation nm
SET publish_state = 'QUEUED_FOR_PUBLISH'
FROM inserted_dokumente id
WHERE nm.eli_norm_manifestation = id.eli_dokument_manifestation
AND nm.publish_state = 'UNPUBLISHED';

0 comments on commit ecf6dce

Please sign in to comment.