Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 0 additions & 9 deletions data-tool/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -89,15 +89,6 @@ run-prefect-server: ## Start Prefect server
run-prefect-reset-db: ## clears all data and reapplies the schema. Handy for clearing flow run history.
. $(PREFECT_VENV_DIR)/bin/activate && prefect server database reset -y

run-corps-migration: ## Run migration flow
@echo "Current directory: $(CURRENT_ABS_DIR)"
@echo "SQLAlchemy path: $(CURRENT_ABS_DIR)/$(SQLALCHEMY_VENV_DIR)/lib/$(PYTHON_VERSION)/site-packages"
. $(VENV_DIR)/bin/activate && \
export PYTHONPATH="$(CURRENT_ABS_DIR):$$PYTHONPATH" && \
export SQLALCHEMY_PATH="$(CURRENT_ABS_DIR)/$(SQLALCHEMY_VENV_DIR)/lib/$(PYTHON_VERSION)/site-packages" && \
FLASK_ENV=development && \
python flows/migrate_corps_flow.py

run-corps-delete: ## Run delete flow
. $(VENV_DIR)/bin/activate && \
python flows/batch_delete_flow.py
Expand Down
475 changes: 0 additions & 475 deletions data-tool/flows/migrate_corps_flow.py

This file was deleted.

132 changes: 80 additions & 52 deletions data-tool/scripts/generate_cprd_subset_extract.py

Large diffs are not rendered by default.

97 changes: 60 additions & 37 deletions data-tool/scripts/subset/subset_disable_triggers.sql
Original file line number Diff line number Diff line change
@@ -1,38 +1,61 @@
-- Disable triggers for corp-scoped tables (subset refresh/load).
-- Intended to be executed from a master DbSchemaCLI script while connected to the target Postgres DB.
-- -- Disable triggers for corp-scoped tables (subset refresh/load).
-- -- Intended to be executed from a master DbSchemaCLI script while connected to the target Postgres DB.

-- ALTER TABLE corporation DISABLE TRIGGER ALL;
-- ALTER TABLE corp_name DISABLE TRIGGER ALL;
-- ALTER TABLE corp_state DISABLE TRIGGER ALL;
-- ALTER TABLE event DISABLE TRIGGER ALL;
-- ALTER TABLE filing DISABLE TRIGGER ALL;
-- ALTER TABLE filing_user DISABLE TRIGGER ALL;
-- ALTER TABLE office DISABLE TRIGGER ALL;
-- ALTER TABLE corp_comments DISABLE TRIGGER ALL;
-- ALTER TABLE ledger_text DISABLE TRIGGER ALL;
-- ALTER TABLE corp_party DISABLE TRIGGER ALL;
-- ALTER TABLE corp_party_relationship DISABLE TRIGGER ALL;
-- ALTER TABLE offices_held DISABLE TRIGGER ALL;
-- ALTER TABLE completing_party DISABLE TRIGGER ALL;
-- ALTER TABLE submitting_party DISABLE TRIGGER ALL;
-- ALTER TABLE corp_flag DISABLE TRIGGER ALL;
-- ALTER TABLE cont_out DISABLE TRIGGER ALL;
-- ALTER TABLE conv_event DISABLE TRIGGER ALL;
-- ALTER TABLE conv_ledger DISABLE TRIGGER ALL;
-- ALTER TABLE corp_involved_amalgamating DISABLE TRIGGER ALL;
-- ALTER TABLE corp_involved_cont_in DISABLE TRIGGER ALL;
-- ALTER TABLE corp_restriction DISABLE TRIGGER ALL;
-- ALTER TABLE correction DISABLE TRIGGER ALL;
-- ALTER TABLE jurisdiction DISABLE TRIGGER ALL;
-- ALTER TABLE resolution DISABLE TRIGGER ALL;
-- ALTER TABLE share_series DISABLE TRIGGER ALL;
-- ALTER TABLE share_struct DISABLE TRIGGER ALL;
-- ALTER TABLE share_struct_cls DISABLE TRIGGER ALL;
-- ALTER TABLE notification DISABLE TRIGGER ALL;
-- ALTER TABLE notification_resend DISABLE TRIGGER ALL;
-- ALTER TABLE party_notification DISABLE TRIGGER ALL;
-- ALTER TABLE payment DISABLE TRIGGER ALL;
-- ALTER TABLE carsfile DISABLE TRIGGER ALL;
-- ALTER TABLE carsbox DISABLE TRIGGER ALL;
-- ALTER TABLE carsrept DISABLE TRIGGER ALL;
-- ALTER TABLE carindiv DISABLE TRIGGER ALL;

ALTER TABLE TARGET_SCHEMA.notification
DROP CONSTRAINT fk_notification_filing ;
ALTER TABLE TARGET_SCHEMA.office
DROP CONSTRAINT fk_office_mailing_address ;
ALTER TABLE TARGET_SCHEMA.office
DROP CONSTRAINT fk_office_delivery_address ;
ALTER TABLE TARGET_SCHEMA.corp_party
DROP CONSTRAINT fk_corp_party_mailing_address ;
ALTER TABLE TARGET_SCHEMA.completing_party
DROP CONSTRAINT fk_completing_party_address ;
ALTER TABLE TARGET_SCHEMA.office
DROP CONSTRAINT fk_corp_party_delivery_address ;
ALTER TABLE TARGET_SCHEMA.notification
DROP CONSTRAINT fk_notification_address ;
ALTER TABLE TARGET_SCHEMA.filing ALTER COLUMN arrangement_ind TYPE CHARACTER VARYING(255);
ALTER TABLE TARGET_SCHEMA.corporation ALTER COLUMN send_ar_ind TYPE CHARACTER VARYING(255);
ALTER TABLE TARGET_SCHEMA.share_series ALTER COLUMN max_share_ind TYPE CHARACTER VARYING(255);
ALTER TABLE TARGET_SCHEMA.share_struct_cls ALTER COLUMN max_share_ind TYPE CHARACTER VARYING(255);
ALTER TABLE TARGET_SCHEMA.filing ALTER COLUMN court_appr_ind TYPE CHARACTER VARYING(255);
ALTER TABLE TARGET_SCHEMA.share_struct_cls ALTER COLUMN spec_rights_ind TYPE CHARACTER VARYING(255);
ALTER TABLE TARGET_SCHEMA.share_struct_cls ALTER COLUMN par_value_ind TYPE CHARACTER VARYING(255);

ALTER TABLE corporation DISABLE TRIGGER ALL;
ALTER TABLE corp_name DISABLE TRIGGER ALL;
ALTER TABLE corp_state DISABLE TRIGGER ALL;
ALTER TABLE event DISABLE TRIGGER ALL;
ALTER TABLE filing DISABLE TRIGGER ALL;
ALTER TABLE filing_user DISABLE TRIGGER ALL;
ALTER TABLE office DISABLE TRIGGER ALL;
ALTER TABLE corp_comments DISABLE TRIGGER ALL;
ALTER TABLE ledger_text DISABLE TRIGGER ALL;
ALTER TABLE corp_party DISABLE TRIGGER ALL;
ALTER TABLE corp_party_relationship DISABLE TRIGGER ALL;
ALTER TABLE offices_held DISABLE TRIGGER ALL;
ALTER TABLE completing_party DISABLE TRIGGER ALL;
ALTER TABLE submitting_party DISABLE TRIGGER ALL;
ALTER TABLE corp_flag DISABLE TRIGGER ALL;
ALTER TABLE cont_out DISABLE TRIGGER ALL;
ALTER TABLE conv_event DISABLE TRIGGER ALL;
ALTER TABLE conv_ledger DISABLE TRIGGER ALL;
ALTER TABLE corp_involved_amalgamating DISABLE TRIGGER ALL;
ALTER TABLE corp_involved_cont_in DISABLE TRIGGER ALL;
ALTER TABLE corp_restriction DISABLE TRIGGER ALL;
ALTER TABLE correction DISABLE TRIGGER ALL;
ALTER TABLE jurisdiction DISABLE TRIGGER ALL;
ALTER TABLE resolution DISABLE TRIGGER ALL;
ALTER TABLE share_series DISABLE TRIGGER ALL;
ALTER TABLE share_struct DISABLE TRIGGER ALL;
ALTER TABLE share_struct_cls DISABLE TRIGGER ALL;
ALTER TABLE notification DISABLE TRIGGER ALL;
ALTER TABLE notification_resend DISABLE TRIGGER ALL;
ALTER TABLE party_notification DISABLE TRIGGER ALL;
ALTER TABLE payment DISABLE TRIGGER ALL;
ALTER TABLE carsfile DISABLE TRIGGER ALL;
ALTER TABLE carsbox DISABLE TRIGGER ALL;
ALTER TABLE carsrept DISABLE TRIGGER ALL;
ALTER TABLE carindiv DISABLE TRIGGER ALL;
93 changes: 56 additions & 37 deletions data-tool/scripts/subset/subset_enable_triggers.sql
Original file line number Diff line number Diff line change
@@ -1,38 +1,57 @@
-- Enable triggers for corp-scoped tables (subset refresh/load).
-- Intended to be executed from a master DbSchemaCLI script while connected to the target Postgres DB.
-- -- Enable triggers for corp-scoped tables (subset refresh/load).
-- -- Intended to be executed from a master DbSchemaCLI script while connected to the target Postgres DB.

ALTER TABLE corporation ENABLE TRIGGER ALL;
ALTER TABLE corp_name ENABLE TRIGGER ALL;
ALTER TABLE corp_state ENABLE TRIGGER ALL;
ALTER TABLE event ENABLE TRIGGER ALL;
ALTER TABLE filing ENABLE TRIGGER ALL;
ALTER TABLE filing_user ENABLE TRIGGER ALL;
ALTER TABLE office ENABLE TRIGGER ALL;
ALTER TABLE corp_comments ENABLE TRIGGER ALL;
ALTER TABLE ledger_text ENABLE TRIGGER ALL;
ALTER TABLE corp_party ENABLE TRIGGER ALL;
ALTER TABLE corp_party_relationship ENABLE TRIGGER ALL;
ALTER TABLE offices_held ENABLE TRIGGER ALL;
ALTER TABLE completing_party ENABLE TRIGGER ALL;
ALTER TABLE submitting_party ENABLE TRIGGER ALL;
ALTER TABLE corp_flag ENABLE TRIGGER ALL;
ALTER TABLE cont_out ENABLE TRIGGER ALL;
ALTER TABLE conv_event ENABLE TRIGGER ALL;
ALTER TABLE conv_ledger ENABLE TRIGGER ALL;
ALTER TABLE corp_involved_amalgamating ENABLE TRIGGER ALL;
ALTER TABLE corp_involved_cont_in ENABLE TRIGGER ALL;
ALTER TABLE corp_restriction ENABLE TRIGGER ALL;
ALTER TABLE correction ENABLE TRIGGER ALL;
ALTER TABLE jurisdiction ENABLE TRIGGER ALL;
ALTER TABLE resolution ENABLE TRIGGER ALL;
ALTER TABLE share_series ENABLE TRIGGER ALL;
ALTER TABLE share_struct ENABLE TRIGGER ALL;
ALTER TABLE share_struct_cls ENABLE TRIGGER ALL;
ALTER TABLE notification ENABLE TRIGGER ALL;
ALTER TABLE notification_resend ENABLE TRIGGER ALL;
ALTER TABLE party_notification ENABLE TRIGGER ALL;
ALTER TABLE payment ENABLE TRIGGER ALL;
ALTER TABLE carsfile ENABLE TRIGGER ALL;
ALTER TABLE carsbox ENABLE TRIGGER ALL;
ALTER TABLE carsrept ENABLE TRIGGER ALL;
ALTER TABLE carindiv ENABLE TRIGGER ALL;
-- ALTER TABLE corporation ENABLE TRIGGER ALL;
-- ALTER TABLE corp_name ENABLE TRIGGER ALL;
-- ALTER TABLE corp_state ENABLE TRIGGER ALL;
-- ALTER TABLE event ENABLE TRIGGER ALL;
-- ALTER TABLE filing ENABLE TRIGGER ALL;
-- ALTER TABLE filing_user ENABLE TRIGGER ALL;
-- ALTER TABLE office ENABLE TRIGGER ALL;
-- ALTER TABLE corp_comments ENABLE TRIGGER ALL;
-- ALTER TABLE ledger_text ENABLE TRIGGER ALL;
-- ALTER TABLE corp_party ENABLE TRIGGER ALL;
-- ALTER TABLE corp_party_relationship ENABLE TRIGGER ALL;
-- ALTER TABLE offices_held ENABLE TRIGGER ALL;
-- ALTER TABLE completing_party ENABLE TRIGGER ALL;
-- ALTER TABLE submitting_party ENABLE TRIGGER ALL;
-- ALTER TABLE corp_flag ENABLE TRIGGER ALL;
-- ALTER TABLE cont_out ENABLE TRIGGER ALL;
-- ALTER TABLE conv_event ENABLE TRIGGER ALL;
-- ALTER TABLE conv_ledger ENABLE TRIGGER ALL;
-- ALTER TABLE corp_involved_amalgamating ENABLE TRIGGER ALL;
-- ALTER TABLE corp_involved_cont_in ENABLE TRIGGER ALL;
-- ALTER TABLE corp_restriction ENABLE TRIGGER ALL;
-- ALTER TABLE correction ENABLE TRIGGER ALL;
-- ALTER TABLE jurisdiction ENABLE TRIGGER ALL;
-- ALTER TABLE resolution ENABLE TRIGGER ALL;
-- ALTER TABLE share_series ENABLE TRIGGER ALL;
-- ALTER TABLE share_struct ENABLE TRIGGER ALL;
-- ALTER TABLE share_struct_cls ENABLE TRIGGER ALL;
-- ALTER TABLE notification ENABLE TRIGGER ALL;
-- ALTER TABLE notification_resend ENABLE TRIGGER ALL;
-- ALTER TABLE party_notification ENABLE TRIGGER ALL;
-- ALTER TABLE payment ENABLE TRIGGER ALL;
-- ALTER TABLE carsfile ENABLE TRIGGER ALL;
-- ALTER TABLE carsbox ENABLE TRIGGER ALL;
-- ALTER TABLE carsrept ENABLE TRIGGER ALL;
-- ALTER TABLE carindiv ENABLE TRIGGER ALL;

SET search_path TO TARGET_SCHEMA;

ALTER TABLE TARGET_SCHEMA.notification ADD CONSTRAINT fk_notification_filing FOREIGN KEY (event_id) REFERENCES TARGET_SCHEMA.filing (event_id);
ALTER TABLE TARGET_SCHEMA.office ADD CONSTRAINT fk_office_mailing_address FOREIGN KEY (mailing_addr_id) REFERENCES TARGET_SCHEMA.address (addr_id);
ALTER TABLE TARGET_SCHEMA.office ADD CONSTRAINT fk_office_delivery_address FOREIGN KEY (delivery_addr_id) REFERENCES TARGET_SCHEMA.address (addr_id);
ALTER TABLE TARGET_SCHEMA.office ADD CONSTRAINT fk_corp_party_delivery_address FOREIGN KEY (delivery_addr_id) REFERENCES TARGET_SCHEMA.address (addr_id);
ALTER TABLE TARGET_SCHEMA.corp_party ADD CONSTRAINT fk_corp_party_mailing_address FOREIGN KEY (mailing_addr_id) REFERENCES TARGET_SCHEMA.address (addr_id);
ALTER TABLE TARGET_SCHEMA.completing_party ADD CONSTRAINT fk_completing_party_address FOREIGN KEY (mailing_addr_id) REFERENCES TARGET_SCHEMA.address (addr_id);
ALTER TABLE TARGET_SCHEMA.notification ADD CONSTRAINT fk_notification_address FOREIGN KEY (mailing_addr_id) REFERENCES TARGET_SCHEMA.address (addr_id);


ALTER TABLE TARGET_SCHEMA.corporation ALTER COLUMN send_ar_ind TYPE boolean USING (CASE send_ar_ind WHEN 'true' THEN true WHEN 'false' THEN false ELSE true END);

Check failure on line 51 in data-tool/scripts/subset/subset_enable_triggers.sql

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Define a constant instead of duplicating this literal 7 times.

See more on https://sonarcloud.io/project/issues?id=bcgov_lear&issues=AZ8a-xm1COAHb8UnO-qh&open=AZ8a-xm1COAHb8UnO-qh&pullRequest=4546
ALTER TABLE TARGET_SCHEMA.filing ALTER COLUMN arrangement_ind TYPE boolean USING (CASE arrangement_ind WHEN 'true' THEN true WHEN 'false' THEN false ELSE true END);
ALTER TABLE TARGET_SCHEMA.filing ALTER COLUMN court_appr_ind TYPE boolean USING (CASE court_appr_ind WHEN 'true' THEN true WHEN 'false' THEN false ELSE true END);
ALTER TABLE TARGET_SCHEMA.share_series ALTER COLUMN max_share_ind TYPE boolean USING (CASE max_share_ind WHEN 'true' THEN true WHEN 'false' THEN false ELSE true END);
ALTER TABLE TARGET_SCHEMA.share_struct_cls ALTER COLUMN max_share_ind TYPE boolean USING (CASE max_share_ind WHEN 'true' THEN true WHEN 'false' THEN false ELSE true END);
ALTER TABLE TARGET_SCHEMA.share_struct_cls ALTER COLUMN spec_rights_ind TYPE boolean USING (CASE spec_rights_ind WHEN 'true' THEN true WHEN 'false' THEN false ELSE true END);
ALTER TABLE TARGET_SCHEMA.share_struct_cls ALTER COLUMN par_value_ind TYPE boolean USING (CASE par_value_ind WHEN 'true' THEN true WHEN 'false' THEN false ELSE true END);
54 changes: 27 additions & 27 deletions data-tool/scripts/subset/subset_pg_boolean_casts.sql
Original file line number Diff line number Diff line change
Expand Up @@ -23,33 +23,33 @@
-- DbSchemaCLI splits statements on semicolons and does not reliably handle semicolons inside dollar-quoted
-- bodies. Keep dollar-quoted bodies free of internal semicolons and avoid DO $$ blocks.

CREATE OR REPLACE FUNCTION public.dbcli_varchar_to_boolean(val varchar)
RETURNS boolean
LANGUAGE sql
IMMUTABLE
STRICT
AS $$
SELECT (val::text)::boolean
$$;
-- CREATE OR REPLACE FUNCTION public.dbcli_varchar_to_boolean(val varchar)
-- RETURNS boolean
-- LANGUAGE sql
-- IMMUTABLE
-- STRICT
-- AS $$
-- SELECT (val::text)::boolean
-- $$;

CREATE OR REPLACE FUNCTION public.dbcli_bpchar_to_boolean(val bpchar)
RETURNS boolean
LANGUAGE sql
IMMUTABLE
STRICT
AS $$
SELECT (val::text)::boolean
$$;
-- CREATE OR REPLACE FUNCTION public.dbcli_bpchar_to_boolean(val bpchar)
-- RETURNS boolean
-- LANGUAGE sql
-- IMMUTABLE
-- STRICT
-- AS $$
-- SELECT (val::text)::boolean
-- $$;

-- Recreate casts in an idempotent way (Postgres has no CREATE CAST IF NOT EXISTS).
DROP CAST IF EXISTS (varchar AS boolean);
CREATE CAST (varchar AS boolean)
WITH FUNCTION public.dbcli_varchar_to_boolean(varchar)
AS IMPLICIT -- DbSchemaCLI workaround: avoid keyword being last token
;
-- -- Recreate casts in an idempotent way (Postgres has no CREATE CAST IF NOT EXISTS).
-- DROP CAST IF EXISTS (varchar AS boolean);
-- CREATE CAST (varchar AS boolean)
-- WITH FUNCTION public.dbcli_varchar_to_boolean(varchar)
-- AS IMPLICIT -- DbSchemaCLI workaround: avoid keyword being last token
-- ;

DROP CAST IF EXISTS (bpchar AS boolean);
CREATE CAST (bpchar AS boolean)
WITH FUNCTION public.dbcli_bpchar_to_boolean(bpchar)
AS IMPLICIT -- DbSchemaCLI workaround: avoid keyword being last token
;
-- DROP CAST IF EXISTS (bpchar AS boolean);
-- CREATE CAST (bpchar AS boolean)
-- WITH FUNCTION public.dbcli_bpchar_to_boolean(bpchar)
-- AS IMPLICIT -- DbSchemaCLI workaround: avoid keyword being last token
-- ;
64 changes: 32 additions & 32 deletions data-tool/scripts/subset/subset_pg_cleanup_orphan_children.sql
Original file line number Diff line number Diff line change
Expand Up @@ -11,52 +11,52 @@
-- - corp-scoped rows deleted directly by corp_num are left to the regular chunk deletes

-- Event-scoped children whose parent event row is missing.
DELETE FROM notification_resend t
WHERE NOT EXISTS (SELECT 1 FROM event e WHERE e.event_id = t.event_id);
DELETE FROM TARGET_SCHEMA.notification_resend t
WHERE NOT EXISTS (SELECT 1 FROM TARGET_SCHEMA.event e WHERE e.event_id = t.event_id);

DELETE FROM notification t
WHERE NOT EXISTS (SELECT 1 FROM event e WHERE e.event_id = t.event_id);
DELETE FROM TARGET_SCHEMA.notification t
WHERE NOT EXISTS (SELECT 1 FROM TARGET_SCHEMA.event e WHERE e.event_id = t.event_id);

DELETE FROM filing_user t
WHERE NOT EXISTS (SELECT 1 FROM event e WHERE e.event_id = t.event_id);
DELETE FROM TARGET_SCHEMA.filing_user t
WHERE NOT EXISTS (SELECT 1 FROM TARGET_SCHEMA.event e WHERE e.event_id = t.event_id);

DELETE FROM payment t
WHERE NOT EXISTS (SELECT 1 FROM event e WHERE e.event_id = t.event_id);
DELETE FROM TARGET_SCHEMA.payment t
WHERE NOT EXISTS (SELECT 1 FROM TARGET_SCHEMA.event e WHERE e.event_id = t.event_id);

DELETE FROM ledger_text t
WHERE NOT EXISTS (SELECT 1 FROM event e WHERE e.event_id = t.event_id);
DELETE FROM TARGET_SCHEMA.ledger_text t
WHERE NOT EXISTS (SELECT 1 FROM TARGET_SCHEMA.event e WHERE e.event_id = t.event_id);

DELETE FROM conv_ledger t
WHERE NOT EXISTS (SELECT 1 FROM event e WHERE e.event_id = t.event_id);
DELETE FROM TARGET_SCHEMA.conv_ledger t
WHERE NOT EXISTS (SELECT 1 FROM TARGET_SCHEMA.event e WHERE e.event_id = t.event_id);

DELETE FROM conv_event t
WHERE NOT EXISTS (SELECT 1 FROM event e WHERE e.event_id = t.event_id);
DELETE FROM TARGET_SCHEMA.conv_event t
WHERE NOT EXISTS (SELECT 1 FROM TARGET_SCHEMA.event e WHERE e.event_id = t.event_id);

DELETE FROM completing_party t
WHERE NOT EXISTS (SELECT 1 FROM event e WHERE e.event_id = t.event_id);
DELETE FROM TARGET_SCHEMA.completing_party t
WHERE NOT EXISTS (SELECT 1 FROM TARGET_SCHEMA.event e WHERE e.event_id = t.event_id);

DELETE FROM submitting_party t
WHERE NOT EXISTS (SELECT 1 FROM event e WHERE e.event_id = t.event_id);
DELETE FROM TARGET_SCHEMA.submitting_party t
WHERE NOT EXISTS (SELECT 1 FROM TARGET_SCHEMA.event e WHERE e.event_id = t.event_id);

DELETE FROM corp_involved_amalgamating t
DELETE FROM TARGET_SCHEMA.corp_involved_amalgamating t
WHERE t.event_id IS NOT NULL
AND NOT EXISTS (SELECT 1 FROM event e WHERE e.event_id = t.event_id);
AND NOT EXISTS (SELECT 1 FROM TARGET_SCHEMA.event e WHERE e.event_id = t.event_id);

DELETE FROM corp_involved_cont_in t
WHERE NOT EXISTS (SELECT 1 FROM event e WHERE e.event_id = t.event_id);
DELETE FROM TARGET_SCHEMA.corp_involved_cont_in t
WHERE NOT EXISTS (SELECT 1 FROM TARGET_SCHEMA.event e WHERE e.event_id = t.event_id);

DELETE FROM correction t
WHERE NOT EXISTS (SELECT 1 FROM event e WHERE e.event_id = t.event_id);
DELETE FROM TARGET_SCHEMA.correction t
WHERE NOT EXISTS (SELECT 1 FROM TARGET_SCHEMA.event e WHERE e.event_id = t.event_id);

DELETE FROM filing t
WHERE NOT EXISTS (SELECT 1 FROM event e WHERE e.event_id = t.event_id);
DELETE FROM TARGET_SCHEMA.filing t
WHERE NOT EXISTS (SELECT 1 FROM TARGET_SCHEMA.event e WHERE e.event_id = t.event_id);

-- Corp-party children whose parent corp_party row is missing.
DELETE FROM party_notification t
WHERE NOT EXISTS (SELECT 1 FROM corp_party cp WHERE cp.corp_party_id = t.party_id);
DELETE FROM TARGET_SCHEMA.party_notification t
WHERE NOT EXISTS (SELECT 1 FROM TARGET_SCHEMA.corp_party cp WHERE cp.corp_party_id = t.party_id);

DELETE FROM offices_held t
WHERE NOT EXISTS (SELECT 1 FROM corp_party cp WHERE cp.corp_party_id = t.corp_party_id);
DELETE FROM TARGET_SCHEMA.offices_held t
WHERE NOT EXISTS (SELECT 1 FROM TARGET_SCHEMA.corp_party cp WHERE cp.corp_party_id = t.corp_party_id);

DELETE FROM corp_party_relationship t
WHERE NOT EXISTS (SELECT 1 FROM corp_party cp WHERE cp.corp_party_id = t.corp_party_id);
DELETE FROM TARGET_SCHEMA.corp_party_relationship t
WHERE NOT EXISTS (SELECT 1 FROM TARGET_SCHEMA.corp_party cp WHERE cp.corp_party_id = t.corp_party_id);
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
-- Prepare the shared address staging table used by subset_transfer_chunk.sql.
-- This is a predeclared regular table (not TEMP) because DbSchemaCLI transfer work may use separate sessions.

TRUNCATE TABLE public.subset_address_stage;
TRUNCATE TABLE TARGET_SCHEMA.subset_address_stage;
Loading