diff --git a/airflow-core/docs/img/airflow_erd.sha256 b/airflow-core/docs/img/airflow_erd.sha256
index 9922fde77099e..45b3d3adb6250 100644
--- a/airflow-core/docs/img/airflow_erd.sha256
+++ b/airflow-core/docs/img/airflow_erd.sha256
@@ -1 +1 @@
-5fb3647b8dc66e0c22e13797f2b3b05a9c09ac9e4a6d0d82b03f1556197fa219
\ No newline at end of file
+64c9dd088a2e8bc57ed95818665b650cdf2cc78d269e71f1ab585aba4c97ca26
\ No newline at end of file
diff --git a/airflow-core/docs/img/airflow_erd.svg b/airflow-core/docs/img/airflow_erd.svg
index 363c06bede71a..8dcaede5f5c37 100644
--- a/airflow-core/docs/img/airflow_erd.svg
+++ b/airflow-core/docs/img/airflow_erd.svg
@@ -705,180 +705,180 @@
1
-
+
task_instance
-
-task_instance
-
-id
-
- [UUID]
- NOT NULL
-
-context_carrier
-
- [JSONB]
-
-custom_operator_name
-
- [VARCHAR(1000)]
- NOT NULL
-
-dag_id
-
- [VARCHAR(250)]
- NOT NULL
-
-dag_version_id
-
- [UUID]
-
-duration
-
- [DOUBLE PRECISION]
-
-end_date
-
- [TIMESTAMP]
-
-executor
-
- [VARCHAR(1000)]
-
-executor_config
-
- [BYTEA]
- NOT NULL
-
-external_executor_id
-
- [TEXT]
-
-hostname
-
- [VARCHAR(1000)]
- NOT NULL
-
-last_heartbeat_at
-
- [TIMESTAMP]
-
-map_index
-
- [INTEGER]
- NOT NULL
-
-max_tries
-
- [INTEGER]
- NOT NULL
-
-next_kwargs
-
- [JSONB]
-
-next_method
-
- [VARCHAR(1000)]
-
-operator
-
- [VARCHAR(1000)]
-
-pid
-
- [INTEGER]
-
-pool
-
- [VARCHAR(256)]
- NOT NULL
-
-pool_slots
-
- [INTEGER]
- NOT NULL
-
-priority_weight
-
- [INTEGER]
- NOT NULL
-
-queue
-
- [VARCHAR(256)]
- NOT NULL
-
-queued_by_job_id
-
- [INTEGER]
-
-queued_dttm
-
- [TIMESTAMP]
-
-rendered_map_index
-
- [VARCHAR(250)]
-
-run_id
-
- [VARCHAR(250)]
- NOT NULL
-
-scheduled_dttm
-
- [TIMESTAMP]
-
-span_status
-
- [VARCHAR(250)]
- NOT NULL
-
-start_date
-
- [TIMESTAMP]
-
-state
-
- [VARCHAR(20)]
-
-task_display_name
-
- [VARCHAR(2000)]
-
-task_id
-
- [VARCHAR(250)]
- NOT NULL
-
-trigger_id
-
- [INTEGER]
-
-trigger_timeout
-
- [TIMESTAMP]
-
-try_number
-
- [INTEGER]
- NOT NULL
-
-unixname
-
- [VARCHAR(1000)]
- NOT NULL
-
-updated_at
-
- [TIMESTAMP]
+
+task_instance
+
+id
+
+ [UUID]
+ NOT NULL
+
+context_carrier
+
+ [JSONB]
+
+custom_operator_name
+
+ [VARCHAR(1000)]
+ NOT NULL
+
+dag_id
+
+ [VARCHAR(250)]
+ NOT NULL
+
+dag_version_id
+
+ [UUID]
+
+duration
+
+ [DOUBLE PRECISION]
+
+end_date
+
+ [TIMESTAMP]
+
+executor
+
+ [VARCHAR(1000)]
+
+executor_config
+
+ [BYTEA]
+ NOT NULL
+
+external_executor_id
+
+ [TEXT]
+
+hostname
+
+ [VARCHAR(1000)]
+ NOT NULL
+
+last_heartbeat_at
+
+ [TIMESTAMP]
+
+map_index
+
+ [INTEGER]
+ NOT NULL
+
+max_tries
+
+ [INTEGER]
+ NOT NULL
+
+next_kwargs
+
+ [JSONB]
+
+next_method
+
+ [VARCHAR(1000)]
+
+operator
+
+ [VARCHAR(1000)]
+
+pid
+
+ [INTEGER]
+
+pool
+
+ [VARCHAR(256)]
+ NOT NULL
+
+pool_slots
+
+ [INTEGER]
+ NOT NULL
+
+priority_weight
+
+ [INTEGER]
+ NOT NULL
+
+queue
+
+ [VARCHAR(256)]
+ NOT NULL
+
+queued_by_job_id
+
+ [INTEGER]
+
+queued_dttm
+
+ [TIMESTAMP]
+
+rendered_map_index
+
+ [VARCHAR(250)]
+
+run_id
+
+ [VARCHAR(250)]
+ NOT NULL
+
+scheduled_dttm
+
+ [TIMESTAMP]
+
+span_status
+
+ [VARCHAR(250)]
+ NOT NULL
+
+start_date
+
+ [TIMESTAMP]
+
+state
+
+ [VARCHAR(20)]
+
+task_display_name
+
+ [VARCHAR(2000)]
+
+task_id
+
+ [VARCHAR(250)]
+ NOT NULL
+
+trigger_id
+
+ [INTEGER]
+
+trigger_timeout
+
+ [TIMESTAMP]
+
+try_number
+
+ [INTEGER]
+ NOT NULL
+
+unixname
+
+ [VARCHAR(1000)]
+ NOT NULL
+
+updated_at
+
+ [TIMESTAMP]
-
+
trigger:id--task_instance:trigger_id
-
-0..N
+
+0..N
{0,1}
@@ -926,7 +926,7 @@
NOT NULL
-
+
callback:id--deadline:callback_id
0..N
@@ -935,102 +935,102 @@
asset_alias
-
-asset_alias
-
-id
-
- [INTEGER]
- NOT NULL
-
-group
-
- [VARCHAR(1500)]
- NOT NULL
-
-name
-
- [VARCHAR(1500)]
- NOT NULL
+
+asset_alias
+
+id
+
+ [INTEGER]
+ NOT NULL
+
+group
+
+ [VARCHAR(1500)]
+ NOT NULL
+
+name
+
+ [VARCHAR(1500)]
+ NOT NULL
asset_alias_asset
-
-asset_alias_asset
-
-alias_id
-
- [INTEGER]
- NOT NULL
-
-asset_id
-
- [INTEGER]
- NOT NULL
+
+asset_alias_asset
+
+alias_id
+
+ [INTEGER]
+ NOT NULL
+
+asset_id
+
+ [INTEGER]
+ NOT NULL
-
+
asset_alias:id--asset_alias_asset:alias_id
-
-0..N
-1
+
+0..N
+1
asset_alias_asset_event
-
-asset_alias_asset_event
-
-alias_id
-
- [INTEGER]
- NOT NULL
-
-event_id
-
- [INTEGER]
- NOT NULL
+
+asset_alias_asset_event
+
+alias_id
+
+ [INTEGER]
+ NOT NULL
+
+event_id
+
+ [INTEGER]
+ NOT NULL
asset_alias:id--asset_alias_asset_event:alias_id
-
-0..N
-1
+
+0..N
+1
dag_schedule_asset_alias_reference
-
-dag_schedule_asset_alias_reference
-
-alias_id
-
- [INTEGER]
- NOT NULL
-
-dag_id
-
- [VARCHAR(250)]
- NOT NULL
-
-created_at
-
- [TIMESTAMP]
- NOT NULL
-
-updated_at
-
- [TIMESTAMP]
- NOT NULL
+
+dag_schedule_asset_alias_reference
+
+alias_id
+
+ [INTEGER]
+ NOT NULL
+
+dag_id
+
+ [VARCHAR(250)]
+ NOT NULL
+
+created_at
+
+ [TIMESTAMP]
+ NOT NULL
+
+updated_at
+
+ [TIMESTAMP]
+ NOT NULL
asset_alias:id--dag_schedule_asset_alias_reference:alias_id
-
-0..N
-1
+
+0..N
+1
@@ -1074,261 +1074,261 @@
NOT NULL
-
+
asset:id--asset_alias_asset:asset_id
-
-0..N
+
+0..N
1
asset:id--asset_watcher:asset_id
-
+
0..N
1
asset_active
-
-asset_active
-
-name
-
- [VARCHAR(1500)]
- NOT NULL
-
-uri
-
- [VARCHAR(1500)]
- NOT NULL
+
+asset_active
+
+name
+
+ [VARCHAR(1500)]
+ NOT NULL
+
+uri
+
+ [VARCHAR(1500)]
+ NOT NULL
-asset:uri--asset_active:uri
-
-1
-1
+asset:name--asset_active:name
+
+1
+1
-asset:name--asset_active:name
-
-1
-1
+asset:uri--asset_active:uri
+
+1
+1
dag_schedule_asset_reference
-
-dag_schedule_asset_reference
-
-asset_id
-
- [INTEGER]
- NOT NULL
-
-dag_id
-
- [VARCHAR(250)]
- NOT NULL
-
-created_at
-
- [TIMESTAMP]
- NOT NULL
-
-updated_at
-
- [TIMESTAMP]
- NOT NULL
+
+dag_schedule_asset_reference
+
+asset_id
+
+ [INTEGER]
+ NOT NULL
+
+dag_id
+
+ [VARCHAR(250)]
+ NOT NULL
+
+created_at
+
+ [TIMESTAMP]
+ NOT NULL
+
+updated_at
+
+ [TIMESTAMP]
+ NOT NULL
asset:id--dag_schedule_asset_reference:asset_id
-
-0..N
+
+0..N
1
task_outlet_asset_reference
-
-task_outlet_asset_reference
-
-asset_id
-
- [INTEGER]
- NOT NULL
-
-dag_id
-
- [VARCHAR(250)]
- NOT NULL
-
-task_id
-
- [VARCHAR(250)]
- NOT NULL
-
-created_at
-
- [TIMESTAMP]
- NOT NULL
-
-updated_at
-
- [TIMESTAMP]
- NOT NULL
+
+task_outlet_asset_reference
+
+asset_id
+
+ [INTEGER]
+ NOT NULL
+
+dag_id
+
+ [VARCHAR(250)]
+ NOT NULL
+
+task_id
+
+ [VARCHAR(250)]
+ NOT NULL
+
+created_at
+
+ [TIMESTAMP]
+ NOT NULL
+
+updated_at
+
+ [TIMESTAMP]
+ NOT NULL
asset:id--task_outlet_asset_reference:asset_id
-
-0..N
+
+0..N
1
task_inlet_asset_reference
-
-task_inlet_asset_reference
-
-asset_id
-
- [INTEGER]
- NOT NULL
-
-dag_id
-
- [VARCHAR(250)]
- NOT NULL
-
-task_id
-
- [VARCHAR(250)]
- NOT NULL
-
-created_at
-
- [TIMESTAMP]
- NOT NULL
-
-updated_at
-
- [TIMESTAMP]
- NOT NULL
+
+task_inlet_asset_reference
+
+asset_id
+
+ [INTEGER]
+ NOT NULL
+
+dag_id
+
+ [VARCHAR(250)]
+ NOT NULL
+
+task_id
+
+ [VARCHAR(250)]
+ NOT NULL
+
+created_at
+
+ [TIMESTAMP]
+ NOT NULL
+
+updated_at
+
+ [TIMESTAMP]
+ NOT NULL
asset:id--task_inlet_asset_reference:asset_id
-
-0..N
+
+0..N
1
asset_dag_run_queue
-
-asset_dag_run_queue
-
-asset_id
-
- [INTEGER]
- NOT NULL
-
-target_dag_id
-
- [VARCHAR(250)]
- NOT NULL
-
-created_at
-
- [TIMESTAMP]
- NOT NULL
+
+asset_dag_run_queue
+
+asset_id
+
+ [INTEGER]
+ NOT NULL
+
+target_dag_id
+
+ [VARCHAR(250)]
+ NOT NULL
+
+created_at
+
+ [TIMESTAMP]
+ NOT NULL
asset:id--asset_dag_run_queue:asset_id
-
-0..N
+
+0..N
1
asset_event
-
-asset_event
-
-id
-
- [INTEGER]
- NOT NULL
-
-asset_id
-
- [INTEGER]
- NOT NULL
-
-extra
-
- [JSON]
- NOT NULL
-
-partition_key
-
- [VARCHAR(250)]
-
-source_dag_id
-
- [VARCHAR(250)]
-
-source_map_index
-
- [INTEGER]
-
-source_run_id
-
- [VARCHAR(250)]
-
-source_task_id
-
- [VARCHAR(250)]
-
-timestamp
-
- [TIMESTAMP]
- NOT NULL
+
+asset_event
+
+id
+
+ [INTEGER]
+ NOT NULL
+
+asset_id
+
+ [INTEGER]
+ NOT NULL
+
+extra
+
+ [JSON]
+ NOT NULL
+
+partition_key
+
+ [VARCHAR(250)]
+
+source_dag_id
+
+ [VARCHAR(250)]
+
+source_map_index
+
+ [INTEGER]
+
+source_run_id
+
+ [VARCHAR(250)]
+
+source_task_id
+
+ [VARCHAR(250)]
+
+timestamp
+
+ [TIMESTAMP]
+ NOT NULL
asset_event:id--asset_alias_asset_event:event_id
-
-0..N
-1
+
+0..N
+1
dagrun_asset_event
-
-dagrun_asset_event
-
-dag_run_id
-
- [INTEGER]
- NOT NULL
-
-event_id
-
- [INTEGER]
- NOT NULL
+
+dagrun_asset_event
+
+dag_run_id
+
+ [INTEGER]
+ NOT NULL
+
+event_id
+
+ [INTEGER]
+ NOT NULL
asset_event:id--dagrun_asset_event:event_id
-
-0..N
-1
+
+0..N
+1
@@ -1389,82 +1389,82 @@
dag:dag_id--dag_schedule_asset_alias_reference:dag_id
-
-0..N
+
+0..N
1
dag:dag_id--dag_schedule_asset_reference:dag_id
-
-0..N
+
+0..N
1
dag:dag_id--task_outlet_asset_reference:dag_id
-
-0..N
+
+0..N
1
dag:dag_id--task_inlet_asset_reference:dag_id
-
-0..N
+
+0..N
1
dag:dag_id--asset_dag_run_queue:target_dag_id
-
-0..N
+
+0..N
1
dag_version
-
-dag_version
-
-id
-
- [UUID]
- NOT NULL
-
-bundle_name
-
- [VARCHAR(250)]
-
-bundle_version
-
- [VARCHAR(250)]
-
-created_at
-
- [TIMESTAMP]
- NOT NULL
-
-dag_id
-
- [VARCHAR(250)]
- NOT NULL
-
-last_updated
-
- [TIMESTAMP]
- NOT NULL
-
-version_number
-
- [INTEGER]
- NOT NULL
+
+dag_version
+
+id
+
+ [UUID]
+ NOT NULL
+
+bundle_name
+
+ [VARCHAR(250)]
+
+bundle_version
+
+ [VARCHAR(250)]
+
+created_at
+
+ [TIMESTAMP]
+ NOT NULL
+
+dag_id
+
+ [VARCHAR(250)]
+ NOT NULL
+
+last_updated
+
+ [TIMESTAMP]
+ NOT NULL
+
+version_number
+
+ [INTEGER]
+ NOT NULL
dag:dag_id--dag_version:dag_id
-
-0..N
+
+0..N
1
@@ -1577,133 +1577,133 @@
dag_run
-
-dag_run
-
-id
-
- [INTEGER]
- NOT NULL
-
-backfill_id
-
- [INTEGER]
-
-bundle_version
-
- [VARCHAR(250)]
-
-clear_number
-
- [INTEGER]
- NOT NULL
-
-conf
-
- [JSONB]
-
-context_carrier
-
- [JSONB]
-
-created_dag_version_id
-
- [UUID]
-
-creating_job_id
-
- [INTEGER]
-
-dag_id
-
- [VARCHAR(250)]
- NOT NULL
-
-data_interval_end
-
- [TIMESTAMP]
-
-data_interval_start
-
- [TIMESTAMP]
-
-end_date
-
- [TIMESTAMP]
-
-last_scheduling_decision
-
- [TIMESTAMP]
-
-log_template_id
-
- [INTEGER]
- NOT NULL
-
-logical_date
-
- [TIMESTAMP]
-
-partition_key
-
- [VARCHAR(250)]
-
-queued_at
-
- [TIMESTAMP]
-
-run_after
-
- [TIMESTAMP]
- NOT NULL
-
-run_id
-
- [VARCHAR(250)]
- NOT NULL
-
-run_type
-
- [VARCHAR(50)]
- NOT NULL
-
-scheduled_by_job_id
-
- [INTEGER]
-
-span_status
-
- [VARCHAR(250)]
- NOT NULL
-
-start_date
-
- [TIMESTAMP]
-
-state
-
- [VARCHAR(50)]
- NOT NULL
-
-triggered_by
-
- [VARCHAR(50)]
-
-triggering_user_name
-
- [VARCHAR(512)]
-
-updated_at
-
- [TIMESTAMP]
- NOT NULL
+
+dag_run
+
+id
+
+ [INTEGER]
+ NOT NULL
+
+backfill_id
+
+ [INTEGER]
+
+bundle_version
+
+ [VARCHAR(250)]
+
+clear_number
+
+ [INTEGER]
+ NOT NULL
+
+conf
+
+ [JSONB]
+
+context_carrier
+
+ [JSONB]
+
+created_dag_version_id
+
+ [UUID]
+
+creating_job_id
+
+ [INTEGER]
+
+dag_id
+
+ [VARCHAR(250)]
+ NOT NULL
+
+data_interval_end
+
+ [TIMESTAMP]
+
+data_interval_start
+
+ [TIMESTAMP]
+
+end_date
+
+ [TIMESTAMP]
+
+last_scheduling_decision
+
+ [TIMESTAMP]
+
+log_template_id
+
+ [INTEGER]
+ NOT NULL
+
+logical_date
+
+ [TIMESTAMP]
+
+partition_key
+
+ [VARCHAR(250)]
+
+queued_at
+
+ [TIMESTAMP]
+
+run_after
+
+ [TIMESTAMP]
+ NOT NULL
+
+run_id
+
+ [VARCHAR(250)]
+ NOT NULL
+
+run_type
+
+ [VARCHAR(50)]
+ NOT NULL
+
+scheduled_by_job_id
+
+ [INTEGER]
+
+span_status
+
+ [VARCHAR(250)]
+ NOT NULL
+
+start_date
+
+ [TIMESTAMP]
+
+state
+
+ [VARCHAR(50)]
+ NOT NULL
+
+triggered_by
+
+ [VARCHAR(50)]
+
+triggering_user_name
+
+ [VARCHAR(512)]
+
+updated_at
+
+ [TIMESTAMP]
+ NOT NULL
-
+
dag_version:id--dag_run:created_dag_version_id
-
-0..N
-{0,1}
+
+0..N
+{0,1}
@@ -1754,9 +1754,9 @@
dag_version:id--dag_code:dag_version_id
-
+
0..N
-1
+1
@@ -1805,115 +1805,115 @@
dag_version:id--serialized_dag:dag_version_id
-
+
0..N
-1
+1
-
+
dag_version:id--task_instance:dag_version_id
-
-0..N
-{0,1}
+
+0..N
+{0,1}
log_template
-
-log_template
-
-id
-
- [INTEGER]
- NOT NULL
-
-created_at
-
- [TIMESTAMP]
- NOT NULL
-
-elasticsearch_id
-
- [TEXT]
- NOT NULL
-
-filename
-
- [TEXT]
- NOT NULL
+
+log_template
+
+id
+
+ [INTEGER]
+ NOT NULL
+
+created_at
+
+ [TIMESTAMP]
+ NOT NULL
+
+elasticsearch_id
+
+ [TEXT]
+ NOT NULL
+
+filename
+
+ [TEXT]
+ NOT NULL
-
+
log_template:id--dag_run:log_template_id
-
-0..N
-1
+
+0..N
+1
dag_run:id--dagrun_asset_event:dag_run_id
-
-0..N
-1
+
+0..N
+1
asset_partition_dag_run
-
-asset_partition_dag_run
-
-id
-
- [INTEGER]
- NOT NULL
-
-created_at
-
- [TIMESTAMP]
- NOT NULL
-
-created_dag_run_id
-
- [INTEGER]
-
-partition_key
-
- [VARCHAR(250)]
- NOT NULL
-
-target_dag_id
-
- [VARCHAR(250)]
- NOT NULL
-
-updated_at
-
- [TIMESTAMP]
- NOT NULL
+
+asset_partition_dag_run
+
+id
+
+ [INTEGER]
+ NOT NULL
+
+created_at
+
+ [TIMESTAMP]
+ NOT NULL
+
+created_dag_run_id
+
+ [INTEGER]
+
+partition_key
+
+ [VARCHAR(250)]
+ NOT NULL
+
+target_dag_id
+
+ [VARCHAR(250)]
+ NOT NULL
+
+updated_at
+
+ [TIMESTAMP]
+ NOT NULL
dag_run:id--asset_partition_dag_run:created_dag_run_id
-
-0..N
-{0,1}
-
-
-
-dag_run:run_id--task_instance:run_id
-
-0..N
-1
+
+0..N
+{0,1}
dag_run:dag_id--task_instance:dag_id
-
-0..N
-1
+
+0..N
+1
+
+
+
+dag_run:run_id--task_instance:run_id
+
+0..N
+1
-
+
backfill_dag_run
backfill_dag_run
@@ -1947,134 +1947,134 @@
NOT NULL
-
+
dag_run:id--backfill_dag_run:dag_run_id
-
+
0..N
-{0,1}
+{0,1}
dag_run_note
-
-dag_run_note
-
-dag_run_id
-
- [INTEGER]
- NOT NULL
-
-content
-
- [VARCHAR(1000)]
-
-created_at
-
- [TIMESTAMP]
- NOT NULL
-
-updated_at
-
- [TIMESTAMP]
- NOT NULL
-
-user_id
-
- [VARCHAR(128)]
+
+dag_run_note
+
+dag_run_id
+
+ [INTEGER]
+ NOT NULL
+
+content
+
+ [VARCHAR(1000)]
+
+created_at
+
+ [TIMESTAMP]
+ NOT NULL
+
+updated_at
+
+ [TIMESTAMP]
+ NOT NULL
+
+user_id
+
+ [VARCHAR(128)]
dag_run:id--dag_run_note:dag_run_id
-
-1
-1
+
+1
+1
dag_run:id--deadline:dagrun_id
-
+
0..N
-{0,1}
+{0,1}
backfill
-
-backfill
-
-id
-
- [INTEGER]
- NOT NULL
-
-completed_at
-
- [TIMESTAMP]
-
-created_at
-
- [TIMESTAMP]
- NOT NULL
-
-dag_id
-
- [VARCHAR(250)]
- NOT NULL
-
-dag_run_conf
-
- [JSON]
- NOT NULL
-
-from_date
-
- [TIMESTAMP]
- NOT NULL
-
-is_paused
-
- [BOOLEAN]
-
-max_active_runs
-
- [INTEGER]
- NOT NULL
-
-reprocess_behavior
-
- [VARCHAR(250)]
- NOT NULL
-
-to_date
-
- [TIMESTAMP]
- NOT NULL
-
-triggering_user_name
-
- [VARCHAR(512)]
-
-updated_at
-
- [TIMESTAMP]
- NOT NULL
+
+backfill
+
+id
+
+ [INTEGER]
+ NOT NULL
+
+completed_at
+
+ [TIMESTAMP]
+
+created_at
+
+ [TIMESTAMP]
+ NOT NULL
+
+dag_id
+
+ [VARCHAR(250)]
+ NOT NULL
+
+dag_run_conf
+
+ [JSON]
+ NOT NULL
+
+from_date
+
+ [TIMESTAMP]
+ NOT NULL
+
+is_paused
+
+ [BOOLEAN]
+
+max_active_runs
+
+ [INTEGER]
+ NOT NULL
+
+reprocess_behavior
+
+ [VARCHAR(250)]
+ NOT NULL
+
+to_date
+
+ [TIMESTAMP]
+ NOT NULL
+
+triggering_user_name
+
+ [VARCHAR(512)]
+
+updated_at
+
+ [TIMESTAMP]
+ NOT NULL
-
+
backfill:id--dag_run:backfill_id
-
-0..N
-{0,1}
+
+0..N
+{0,1}
-
+
backfill:id--backfill_dag_run:backfill_id
-
+
0..N
-1
+1
-
+
deadline_alert
deadline_alert
@@ -2118,12 +2118,19 @@
NOT NULL
-
+
serialized_dag:id--deadline_alert:serialized_dag_id
0..N
1
+
+
+deadline_alert:id--deadline:deadline_alert_id
+
+0..N
+{0,1}
+
hitl_detail
@@ -2191,9 +2198,9 @@
task_instance:id--hitl_detail:ti_id
-
+
1
-1
+1
@@ -2232,31 +2239,31 @@
-task_instance:task_id--task_map:task_id
-
-0..N
-1
+task_instance:run_id--task_map:run_id
+
+0..N
+1
-task_instance:map_index--task_map:map_index
-
-0..N
-1
+task_instance:task_id--task_map:task_id
+
+0..N
+1
-task_instance:run_id--task_map:run_id
-
-0..N
-1
+task_instance:dag_id--task_map:dag_id
+
+0..N
+1
-task_instance:dag_id--task_map:dag_id
-
-0..N
-1
+task_instance:map_index--task_map:map_index
+
+0..N
+1
@@ -2297,9 +2304,9 @@
task_instance:id--task_reschedule:ti_id
-
+
0..N
-1
+1
@@ -2348,31 +2355,31 @@
+task_instance:task_id--xcom:task_id
+
+0..N
+1
+
+
+
task_instance:dag_id--xcom:dag_id
-
+
0..N
-1
+1
-
+
task_instance:run_id--xcom:run_id
-
+
0..N
-1
+1
-
+
task_instance:map_index--xcom:map_index
-
+
0..N
-1
-
-
-
-task_instance:task_id--xcom:task_id
-
-0..N
-1
+1
@@ -2406,9 +2413,9 @@
task_instance:id--task_instance_note:ti_id
-
+
1
-1
+1
@@ -2571,31 +2578,31 @@
-task_instance:task_id--task_instance_history:task_id
-
-0..N
-1
+task_instance:dag_id--task_instance_history:dag_id
+
+0..N
+1
-task_instance:map_index--task_instance_history:map_index
-
-0..N
-1
+task_instance:run_id--task_instance_history:run_id
+
+0..N
+1
-task_instance:dag_id--task_instance_history:dag_id
-
-0..N
-1
+task_instance:task_id--task_instance_history:task_id
+
+0..N
+1
-task_instance:run_id--task_instance_history:run_id
-
-0..N
-1
+task_instance:map_index--task_instance_history:map_index
+
+0..N
+1
@@ -2634,38 +2641,31 @@
-task_instance:run_id--rendered_task_instance_fields:run_id
-
-0..N
-1
+task_instance:map_index--rendered_task_instance_fields:map_index
+
+0..N
+1
-task_instance:dag_id--rendered_task_instance_fields:dag_id
-
-0..N
-1
+task_instance:task_id--rendered_task_instance_fields:task_id
+
+0..N
+1
-task_instance:task_id--rendered_task_instance_fields:task_id
-
-0..N
-1
+task_instance:dag_id--rendered_task_instance_fields:dag_id
+
+0..N
+1
-task_instance:map_index--rendered_task_instance_fields:map_index
-
-0..N
-1
-
-
-
-deadline_alert:id--deadline:deadline_alert_id
-
-0..N
-{0,1}
+task_instance:run_id--rendered_task_instance_fields:run_id
+
+0..N
+1
diff --git a/airflow-core/src/airflow/migrations/versions/0060_3_0_0_add_try_id_to_ti_and_tih.py b/airflow-core/src/airflow/migrations/versions/0060_3_0_0_add_try_id_to_ti_and_tih.py
index 82a80cc8903de..a58e1bf6fb341 100644
--- a/airflow-core/src/airflow/migrations/versions/0060_3_0_0_add_try_id_to_ti_and_tih.py
+++ b/airflow-core/src/airflow/migrations/versions/0060_3_0_0_add_try_id_to_ti_and_tih.py
@@ -140,6 +140,17 @@ def downgrade():
ALTER TABLE task_instance_history DROP COLUMN row_num;
"""
)
+ # Restore the id column's sequence and default
+ op.execute("CREATE SEQUENCE IF NOT EXISTS task_instance_history_id_seq")
+ op.execute(
+ "SELECT setval('task_instance_history_id_seq', "
+ "COALESCE((SELECT MAX(id) FROM task_instance_history), 1), true)"
+ )
+ op.execute(
+ "ALTER TABLE task_instance_history "
+ "ALTER COLUMN id SET DEFAULT nextval('task_instance_history_id_seq')"
+ )
+ op.execute("ALTER SEQUENCE task_instance_history_id_seq OWNED BY task_instance_history.id")
elif dialect_name == "mysql":
op.execute(
"""
@@ -158,3 +169,7 @@ def downgrade():
batch_op.alter_column("id", nullable=False, existing_type=sa.INTEGER)
batch_op.drop_column("try_id")
batch_op.create_primary_key("task_instance_history_pkey", ["id"])
+
+ if dialect_name == "mysql":
+ # Restore AUTO_INCREMENT
+ op.execute("ALTER TABLE task_instance_history MODIFY COLUMN id INTEGER NOT NULL AUTO_INCREMENT")