first commit
This commit is contained in:
73
sql/nightly_stt_medicalhistory_schedule.sql
Normal file
73
sql/nightly_stt_medicalhistory_schedule.sql
Normal file
@@ -0,0 +1,73 @@
|
||||
WITH schedule_payload AS (
|
||||
SELECT
|
||||
'Nightly stt_MedicalHistory'::text AS name,
|
||||
'daily'::text AS schedule_type,
|
||||
TRUE AS enabled,
|
||||
FALSE AS catch_up_missed_runs,
|
||||
'["stt_MedicalHistory"]'::jsonb AS tables_json,
|
||||
TRUE AS send_email,
|
||||
FALSE AS dry_run,
|
||||
NULL::integer AS read_limit,
|
||||
NULL::integer AS interval_seconds,
|
||||
'02:00:00'::text AS daily_time,
|
||||
NULL::timestamp AS start_at,
|
||||
CASE
|
||||
WHEN localtime < time '02:00:00'
|
||||
THEN date_trunc('day', now()) + time '02:00:00'
|
||||
ELSE date_trunc('day', now()) + interval '1 day' + time '02:00:00'
|
||||
END AS next_run_at
|
||||
),
|
||||
updated AS (
|
||||
UPDATE replicator.migration_schedules AS schedules
|
||||
SET
|
||||
updated_at = now(),
|
||||
schedule_type = payload.schedule_type,
|
||||
enabled = payload.enabled,
|
||||
catch_up_missed_runs = payload.catch_up_missed_runs,
|
||||
tables_json = payload.tables_json,
|
||||
send_email = payload.send_email,
|
||||
dry_run = payload.dry_run,
|
||||
read_limit = payload.read_limit,
|
||||
interval_seconds = payload.interval_seconds,
|
||||
daily_time = payload.daily_time,
|
||||
start_at = payload.start_at,
|
||||
next_run_at = payload.next_run_at
|
||||
FROM schedule_payload AS payload
|
||||
WHERE schedules.name = payload.name
|
||||
RETURNING schedules.schedule_id
|
||||
)
|
||||
INSERT INTO replicator.migration_schedules (
|
||||
schedule_id,
|
||||
created_at,
|
||||
updated_at,
|
||||
name,
|
||||
schedule_type,
|
||||
enabled,
|
||||
catch_up_missed_runs,
|
||||
tables_json,
|
||||
send_email,
|
||||
dry_run,
|
||||
read_limit,
|
||||
interval_seconds,
|
||||
daily_time,
|
||||
start_at,
|
||||
next_run_at
|
||||
)
|
||||
SELECT
|
||||
md5(random()::text || clock_timestamp()::text),
|
||||
now(),
|
||||
now(),
|
||||
payload.name,
|
||||
payload.schedule_type,
|
||||
payload.enabled,
|
||||
payload.catch_up_missed_runs,
|
||||
payload.tables_json,
|
||||
payload.send_email,
|
||||
payload.dry_run,
|
||||
payload.read_limit,
|
||||
payload.interval_seconds,
|
||||
payload.daily_time,
|
||||
payload.start_at,
|
||||
payload.next_run_at
|
||||
FROM schedule_payload AS payload
|
||||
WHERE NOT EXISTS (SELECT 1 FROM updated);
|
||||
Reference in New Issue
Block a user