diff --git a/airflow/api_connexion/endpoints/task_event_log_endpoint.py b/airflow/api_connexion/endpoints/task_event_log_endpoint.py
new file mode 100644
index 0000000000000..85d928019aab1
--- /dev/null
+++ b/airflow/api_connexion/endpoints/task_event_log_endpoint.py
@@ -0,0 +1,75 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+from __future__ import annotations
+
+from typing import TYPE_CHECKING
+
+from sqlalchemy import select
+
+from airflow.api_connexion import security
+from airflow.api_connexion.parameters import check_limit, format_parameters
+from airflow.api_connexion.schemas.task_event_log_schema import (
+    TaskEventLogCollection,
+    task_event_log_collection_schema,
+)
+from airflow.auth.managers.models.resource_details import DagAccessEntity
+from airflow.models.taskinstance import TaskEventLog
+from airflow.utils.db import get_query_count
+from airflow.utils.session import NEW_SESSION, provide_session
+
+if TYPE_CHECKING:
+    from sqlalchemy.orm import Session
+
+    from airflow.api_connexion.types import APIResponse
+
+
+@security.requires_access_dag("GET", DagAccessEntity.TASK_EVENT_LOG)
+@format_parameters({"limit": check_limit})
+@provide_session
+def get_task_event_logs(
+    *,
+    dag_id: str | None = None,
+    task_id: str | None = None,
+    run_id: str | None = None,
+    map_index: int | None = None,
+    try_number: int | None = None,
+    limit: int,
+    offset: int | None = None,
+    session: Session = NEW_SESSION,
+) -> APIResponse:
+    """Get all log entries from event log."""
+    query = select(TaskEventLog)
+
+    if dag_id:
+        query = query.where(TaskEventLog.dag_id == dag_id)
+    if task_id:
+        query = query.where(TaskEventLog.task_id == task_id)
+    if run_id:
+        query = query.where(TaskEventLog.run_id == run_id)
+    if map_index:
+        query = query.where(TaskEventLog.map_index == map_index)
+    if try_number:
+        query = query.where(TaskEventLog.try_number == try_number)
+
+    total_entries = get_query_count(query, session=session)
+
+    query = query.order_by(TaskEventLog.id)
+    logs = session.scalars(query.offset(offset).limit(limit)).all()
+    return task_event_log_collection_schema.dump(
+        TaskEventLogCollection(data=logs, total_entries=total_entries)
+    )
diff --git a/airflow/api_connexion/openapi/v1.yaml b/airflow/api_connexion/openapi/v1.yaml
index 273d69ab705db..a399383c325e1 100644
--- a/airflow/api_connexion/openapi/v1.yaml
+++ b/airflow/api_connexion/openapi/v1.yaml
@@ -1229,6 +1229,37 @@ paths:
         "404":
           $ref: "#/components/responses/NotFound"
 
+  /taskEventLogs:
+    get:
+      summary: List log entries (experimental)
+      description: |
+        List log entries from task event log (experimental).
+
+        *New in version 2.10.0*
+      x-openapi-router-controller: airflow.api_connexion.endpoints.task_event_log_endpoint
+      operationId: get_task_event_logs
+      tags: [TaskEventLog]
+      parameters:
+        - $ref: "#/components/parameters/PageLimit"
+        - $ref: "#/components/parameters/PageOffset"
+        - $ref: "#/components/parameters/OrderBy"
+        - $ref: "#/components/parameters/FilterDAGID"
+        - $ref: "#/components/parameters/FilterTaskID"
+        - $ref: "#/components/parameters/FilterRunID"
+        - $ref: "#/components/parameters/FilterMapIndex"
+        - $ref: "#/components/parameters/FilterTryNumber"
+      responses:
+        "200":
+          description: Success.
+          content:
+            application/json:
+              schema:
+                $ref: "#/components/schemas/TaskEventLogCollection"
+        "401":
+          $ref: "#/components/responses/Unauthenticated"
+        "403":
+          $ref: "#/components/responses/PermissionDenied"
+
   /eventLogs:
     get:
       summary: List log entries
@@ -3378,6 +3409,49 @@ components:
           readOnly: true
           nullable: true
 
+    TaskEventLog:
+      type: object
+      description: Log of task events.
+      properties:
+        id:
+          description: The task event log ID
+          type: integer
+          readOnly: true
+        created_at:
+          description: The time when the event was recorded
+          format: date-time
+          type: string
+          readOnly: true
+        dag_id:
+          description: The DAG ID
+          type: string
+          readOnly: true
+          nullable: true
+        task_id:
+          description: The Task ID
+          type: string
+          readOnly: true
+          nullable: true
+        run_id:
+          description: The DAG Run ID
+          type: string
+          readOnly: true
+          nullable: true
+        map_index:
+          description: The DAG Run ID
+          type: integer
+          readOnly: true
+          nullable: true
+        try_number:
+          description: The DAG Run ID
+          type: integer
+          readOnly: true
+          nullable: true
+        description:
+          description: A description of the event.
+          type: string
+          readOnly: true
+
     EventLogCollection:
       type: object
       description: |
@@ -3393,6 +3467,21 @@ components:
                 $ref: "#/components/schemas/EventLog"
         - $ref: "#/components/schemas/CollectionInfo"
 
+    TaskEventLogCollection:
+      type: object
+      description: |
+        Collection of task event logs. (Experimental)
+
+        *Added in version 2.10.0*
+      allOf:
+        - type: object
+          properties:
+            data:
+              type: array
+              items:
+                $ref: "#/components/schemas/TaskEventLog"
+        - $ref: "#/components/schemas/CollectionInfo"
+
     ImportError:
       type: object
       properties:
@@ -5587,6 +5676,13 @@ components:
         type: integer
       description: Filter on map index for mapped task.
 
+    FilterTryNumber:
+      in: query
+      name: try_number
+      schema:
+        type: integer
+      description: Filter on try number for task instance.
+
     OrderBy:
       in: query
       name: order_by
diff --git a/airflow/api_connexion/schemas/event_log_schema.py b/airflow/api_connexion/schemas/event_log_schema.py
index da1fc73cc1697..e14591906c563 100644
--- a/airflow/api_connexion/schemas/event_log_schema.py
+++ b/airflow/api_connexion/schemas/event_log_schema.py
@@ -21,6 +21,7 @@
 from marshmallow import Schema, fields
 from marshmallow_sqlalchemy import SQLAlchemySchema, auto_field
 
+from airflow.api_connexion.schemas.task_event_log_schema import TaskEventLogSchema
 from airflow.models.log import Log
 
 
@@ -54,6 +55,7 @@ class EventLogCollectionSchema(Schema):
     """EventLog Collection Schema."""
 
     event_logs = fields.List(fields.Nested(EventLogSchema))
+    task_event_logs = fields.List(fields.Nested(TaskEventLogSchema))
     total_entries = fields.Int()
 
 
diff --git a/airflow/api_connexion/schemas/task_event_log_schema.py b/airflow/api_connexion/schemas/task_event_log_schema.py
new file mode 100644
index 0000000000000..14e1fddaa3318
--- /dev/null
+++ b/airflow/api_connexion/schemas/task_event_log_schema.py
@@ -0,0 +1,60 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+from __future__ import annotations
+
+from typing import NamedTuple
+
+from marshmallow import Schema, fields
+from marshmallow_sqlalchemy import SQLAlchemySchema, auto_field
+
+from airflow.models.taskinstance import TaskEventLog
+
+
+class TaskEventLogSchema(SQLAlchemySchema):
+    """Event log schema."""
+
+    class Meta:
+        """Meta."""
+
+        model = TaskEventLog
+
+    id = auto_field(dump_only=True)
+    dag_id = auto_field(dump_only=True)
+    task_id = auto_field(dump_only=True)
+    run_id = auto_field(dump_only=True)
+    map_index = auto_field(dump_only=True)
+    try_number = auto_field(dump_only=True)
+    description = auto_field(dump_only=True)
+
+
+class TaskEventLogCollection(NamedTuple):
+    """List of import errors with metadata."""
+
+    data: list[TaskEventLog]
+    total_entries: int
+
+
+class TaskEventLogCollectionSchema(Schema):
+    """EventLog Collection Schema."""
+
+    data = fields.List(fields.Nested(TaskEventLogSchema))
+    total_entries = fields.Int()
+
+
+task_event_log_schema = TaskEventLogSchema()
+task_event_log_collection_schema = TaskEventLogCollectionSchema()
diff --git a/airflow/auth/managers/models/resource_details.py b/airflow/auth/managers/models/resource_details.py
index fcbee5a2ad299..456702d8858a8 100644
--- a/airflow/auth/managers/models/resource_details.py
+++ b/airflow/auth/managers/models/resource_details.py
@@ -80,6 +80,7 @@ class DagAccessEntity(Enum):
     """Enum of DAG entities the user tries to access."""
 
     AUDIT_LOG = "AUDIT_LOG"
+    TASK_EVENT_LOG = "TASK_EVENT_LOG"
     CODE = "CODE"
     DEPENDENCIES = "DEPENDENCIES"
     RUN = "RUN"
diff --git a/airflow/executors/base_executor.py b/airflow/executors/base_executor.py
index 153f0d3360e93..c627d520fe88d 100644
--- a/airflow/executors/base_executor.py
+++ b/airflow/executors/base_executor.py
@@ -21,9 +21,8 @@
 import logging
 import sys
 import warnings
-from collections import defaultdict
+from collections import defaultdict, deque
 from dataclasses import dataclass, field
-from functools import cached_property
 from typing import TYPE_CHECKING, Any, List, Optional, Sequence, Tuple
 
 import pendulum
@@ -33,7 +32,6 @@
 from airflow.exceptions import RemovedInAirflow3Warning
 from airflow.stats import Stats
 from airflow.utils.log.logging_mixin import LoggingMixin
-from airflow.utils.log.task_context_logger import TaskContextLogger
 from airflow.utils.state import TaskInstanceState
 
 PARALLELISM: int = conf.getint("core", "PARALLELISM")
@@ -131,6 +129,16 @@ def __init__(self, parallelism: int = PARALLELISM):
         self.queued_tasks: dict[TaskInstanceKey, QueuedTaskInstanceType] = {}
         self.running: set[TaskInstanceKey] = set()
         self.event_buffer: dict[TaskInstanceKey, EventBufferValueType] = {}
+        self._task_event_logs: deque[tuple[TaskInstanceKey, str]] = deque()
+        """
+        Deque for storing task event log messages.
+
+        This attribute is only internally public and should not be manipulated
+        directly by subclasses.
+
+        :meta private:
+        """
+
         self.attempts: dict[TaskInstanceKey, RunningRetryAttemptType] = defaultdict(RunningRetryAttemptType)
 
     def __repr__(self):
@@ -139,6 +147,10 @@ def __repr__(self):
     def start(self):  # pragma: no cover
         """Executors may need to get things started."""
 
+    def log_task_event(self, *, ti_key: TaskInstanceKey, description: str):
+        """Log an event to the task instance event log."""
+        self._task_event_logs.append((ti_key, description))
+
     def queue_command(
         self,
         task_instance: TaskInstance,
@@ -286,12 +298,11 @@ def trigger_tasks(self, open_slots: int) -> None:
                     self.log.info("queued but still running; attempt=%s task=%s", attempt.total_tries, key)
                     continue
                 # Otherwise, we give up and remove the task from the queue.
-                self.send_message_to_task_logs(
-                    logging.ERROR,
+
+                self.log.error(
                     "could not queue task %s (still running after %d attempts).",
                     key,
                     attempt.total_tries,
-                    ti=ti,
                 )
                 del self.attempts[key]
                 del self.queued_tasks[key]
@@ -523,16 +534,6 @@ def send_callback(self, request: CallbackRequest) -> None:
             raise ValueError("Callback sink is not ready.")
         self.callback_sink.send(request)
 
-    @cached_property
-    def _task_context_logger(self) -> TaskContextLogger:
-        return TaskContextLogger(
-            component_name="Executor",
-            call_site_logger=self.log,
-        )
-
-    def send_message_to_task_logs(self, level: int, msg: str, *args, ti: TaskInstance | TaskInstanceKey):
-        self._task_context_logger._log(level, msg, *args, ti=ti)
-
     @staticmethod
     def get_cli_commands() -> list[GroupCommand]:
         """
diff --git a/airflow/jobs/scheduler_job_runner.py b/airflow/jobs/scheduler_job_runner.py
index 1d49f412b0d7f..60e30d365aa96 100644
--- a/airflow/jobs/scheduler_job_runner.py
+++ b/airflow/jobs/scheduler_job_runner.py
@@ -24,7 +24,7 @@
 import sys
 import time
 import warnings
-from collections import Counter, defaultdict
+from collections import Counter, defaultdict, deque
 from dataclasses import dataclass
 from datetime import timedelta
 from functools import lru_cache, partial
@@ -55,7 +55,7 @@
     TaskOutletDatasetReference,
 )
 from airflow.models.serialized_dag import SerializedDagModel
-from airflow.models.taskinstance import SimpleTaskInstance, TaskInstance
+from airflow.models.taskinstance import SimpleTaskInstance, TaskEventLog, TaskInstance
 from airflow.stats import Stats
 from airflow.ti_deps.dependencies_states import EXECUTION_STATES
 from airflow.timetables.simple import DatasetTriggeredTimetable
@@ -740,6 +740,21 @@ def _critical_section_enqueue_task_instances(self, session: Session) -> int:
 
         return len(queued_tis)
 
+    @staticmethod
+    def _process_task_event_logs(log_records: deque[tuple[TaskInstanceKey, str]], session: Session):
+        while log_records:
+            ti_key, description = log_records.popleft()
+            session.add(
+                TaskEventLog(
+                    task_id=ti_key.task_id,
+                    dag_id=ti_key.dag_id,
+                    run_id=ti_key.run_id,
+                    map_index=ti_key.map_index,
+                    try_number=ti_key.try_number,
+                    description=description,
+                )
+            )
+
     def _process_executor_events(self, executor: BaseExecutor, session: Session) -> int:
         """Respond to executor events."""
         if not self._standalone_dag_processor and not self.processor_agent:
@@ -1066,6 +1081,14 @@ def _run_scheduler_loop(self) -> None:
                         num_finished_events += self._process_executor_events(
                             executor=executor, session=session
                         )
+
+                for executor in self.job.executors:
+                    try:
+                        with create_session() as session:
+                            self._process_task_event_logs(executor._task_event_logs, session)
+                    except Exception:
+                        self.log.exception("Something went wrong when trying to save task event logs.")
+
                 if self.processor_agent:
                     self.processor_agent.heartbeat()
 
diff --git a/airflow/migrations/versions/0149_2_10_0_add_task_instance_event_log.py b/airflow/migrations/versions/0149_2_10_0_add_task_instance_event_log.py
new file mode 100644
index 0000000000000..8aaeab49b7e54
--- /dev/null
+++ b/airflow/migrations/versions/0149_2_10_0_add_task_instance_event_log.py
@@ -0,0 +1,64 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+"""
+Add task instance event log.
+
+Revision ID: 8eef27533e75
+Revises: ec3471c1e067
+Create Date: 2024-07-13 07:33:43.406606
+
+"""
+
+from __future__ import annotations
+
+import sqlalchemy as sa
+from alembic import op
+
+from airflow.utils.sqlalchemy import UtcDateTime
+
+# revision identifiers, used by Alembic.
+revision = "8eef27533e75"
+down_revision = "ec3471c1e067"
+branch_labels = None
+depends_on = None
+airflow_version = "2.10.0"
+
+
+def upgrade():
+    """Apply add task instance event log."""
+    # ### commands auto generated by Alembic - please adjust! ###
+    op.create_table(
+        "task_event_log",
+        sa.Column("id", sa.Integer(), nullable=False),
+        sa.Column("task_id", sa.String(length=250), nullable=False),
+        sa.Column("dag_id", sa.String(length=250), nullable=False),
+        sa.Column("run_id", sa.String(length=250), nullable=False),
+        sa.Column("map_index", sa.Integer(), nullable=False),
+        sa.Column("try_number", sa.Integer(), nullable=False),
+        sa.Column(
+            "description", sa.String(length=100).with_variant(sa.Text(length=100), "mysql"), nullable=True
+        ),
+        sa.Column("created_at", UtcDateTime(timezone=True), nullable=False),
+        sa.PrimaryKeyConstraint("id", name="task_event_log_pkey"),
+    )
+
+
+def downgrade():
+    """Unapply add task instance event log."""
+    op.drop_table("task_event_log")
diff --git a/airflow/models/taskinstance.py b/airflow/models/taskinstance.py
index 80b3eedbc8433..b111de23eafb2 100644
--- a/airflow/models/taskinstance.py
+++ b/airflow/models/taskinstance.py
@@ -92,7 +92,6 @@
 from airflow.models.base import Base, StringID, TaskInstanceDependencies, _sentinel
 from airflow.models.dagbag import DagBag
 from airflow.models.dataset import DatasetModel
-from airflow.models.log import Log
 from airflow.models.mappedoperator import MappedOperator
 from airflow.models.param import process_params
 from airflow.models.renderedtifields import get_serialized_template_fields
@@ -193,22 +192,18 @@ def _merge_ti(ti, session: Session = NEW_SESSION):
 @internal_api_call
 @provide_session
 def _add_log(
-    event,
-    task_instance=None,
-    owner=None,
-    owner_display_name=None,
-    extra=None,
+    task_instance,
+    message,
     session: Session = NEW_SESSION,
-    **kwargs,
 ):
     session.add(
-        Log(
-            event,
-            task_instance,
-            owner,
-            owner_display_name,
-            extra,
-            **kwargs,
+        TaskEventLog(
+            task_id=task_instance.task_id,
+            dag_id=task_instance.dag_id,
+            run_id=task_instance.run_id,
+            map_index=task_instance.map_index,
+            try_number=task_instance.try_number,
+            description=message,
         )
     )
 
@@ -358,7 +353,7 @@ def _run_raw_task(
         _run_finished_callback(callbacks=ti.task.on_success_callback, context=context)
 
         if not test_mode:
-            _add_log(event=ti.state, task_instance=ti, session=session)
+            _add_log(task_instance=ti, message=ti.state, session=session)
             if ti.state == TaskInstanceState.SUCCESS:
                 ti._register_dataset_changes(events=context["outlet_events"], session=session)
 
@@ -1639,7 +1634,7 @@ def _defer_task(
         else:
             ti.trigger_timeout = ti.start_date + execution_timeout
     if ti.test_mode:
-        _add_log(event=ti.state, task_instance=ti, session=session)
+        _add_log(task_instance=ti, message=ti.state, session=session)
 
     if exception is not None:
         session.merge(ti)
@@ -2762,7 +2757,7 @@ def _check_and_change_state_before_execution(
             cls.logger().info("Starting attempt %s of %s", ti.try_number, ti.max_tries + 1)
 
         if not test_mode:
-            session.add(Log(TaskInstanceState.RUNNING.value, ti))
+            _add_log(task_instance=ti, message=TaskInstanceState.RUNNING.value, session=session)
 
         ti.state = TaskInstanceState.RUNNING
         ti.emit_state_change_metric(TaskInstanceState.RUNNING)
@@ -3218,7 +3213,7 @@ def fetch_handle_failure_context(
         Stats.incr("ti_failures", tags=ti.stats_tags)
 
         if not test_mode:
-            session.add(Log(TaskInstanceState.FAILED.value, ti))
+            _add_log(task_instance=ti, message=TaskInstanceState.FAILED.value, session=session)
 
             # Log failure duration
             session.add(TaskFail(ti=ti))
@@ -4094,6 +4089,37 @@ def __repr__(self):
         return prefix + ">"
 
 
+class TaskEventLog(Base):
+    """For logging events around the scheduling and execution of task instances."""
+
+    __tablename__ = "task_event_log"
+
+    id = Column(Integer, primary_key=True)
+    dag_id = Column(StringID(), nullable=False)
+    task_id = Column(StringID(), nullable=False)
+    run_id = Column(StringID(), nullable=False)
+    map_index = Column(Integer, nullable=False)
+    try_number = Column(Integer, nullable=False)
+    description = Column(String(100).with_variant(Text(100), "mysql"))
+    created_at = Column(UtcDateTime, default=timezone.utcnow, nullable=False)
+
+    __table_args__ = (
+        PrimaryKeyConstraint("id", name="task_event_log_pkey"),
+        # intentionally not adding foreign key to task_instance to avoid locking
+    )
+
+    def __init__(self, task_id, dag_id, run_id, map_index, try_number, description):
+        self.task_id = task_id
+        self.dag_id = dag_id
+        self.run_id = run_id
+        self.map_index = map_index
+        self.try_number = try_number
+        self.description = description
+
+    def __repr__(self):
+        return f"<{self.__class__.__name__}: dag_id={self.dag_id} task_id={self.task_id} run_id={self.run_id} map_index={self.map_index}>"
+
+
 STATICA_HACK = True
 globals()["kcah_acitats"[::-1].upper()] = False
 if STATICA_HACK:  # pragma: no cover
diff --git a/airflow/providers/amazon/aws/executors/ecs/ecs_executor.py b/airflow/providers/amazon/aws/executors/ecs/ecs_executor.py
index 48c286c6fbe90..569d99db05945 100644
--- a/airflow/providers/amazon/aws/executors/ecs/ecs_executor.py
+++ b/airflow/providers/amazon/aws/executors/ecs/ecs_executor.py
@@ -23,9 +23,9 @@
 
 from __future__ import annotations
 
-import logging
 import time
 from collections import defaultdict, deque
+from contextlib import suppress
 from copy import deepcopy
 from typing import TYPE_CHECKING, Sequence
 
@@ -385,19 +385,22 @@ def attempt_task_runs(self):
                     )
                     self.pending_tasks.append(ecs_task)
                 else:
-                    self.send_message_to_task_logs(
-                        logging.ERROR,
-                        "ECS task %s has failed a maximum of %s times. Marking as failed. Reasons: %s",
+                    reasons_str = ", ".join(failure_reasons)
+                    self.log.error(
+                        "ECS task %s has failed %s times. Marking as failed. Reasons: %s",
                         task_key,
                         attempt_number,
-                        ", ".join(failure_reasons),
-                        ti=task_key,
+                        reasons_str,
+                    )
+                    self.log_task_event(
+                        ti_key=task_key,
+                        description=f"Task could not be queued after {attempt_number} attempts. "
+                        f"Marking as failed. Reasons: {reasons_str}",
                     )
                     self.fail(task_key)
             elif not run_task_response["tasks"]:
-                self.send_message_to_task_logs(
-                    logging.ERROR, "ECS RunTask Response: %s", run_task_response, ti=task_key
-                )
+                self.log.error("ECS RunTask Response: %s", run_task_response)
+                self.log_task_event(ti_key=task_key, description=f"ECS RunTask Response: {run_task_response}")
                 raise EcsExecutorException(
                     "No failures and no ECS tasks provided in response. This should never happen."
                 )
@@ -543,10 +546,7 @@ def try_adopt_task_instances(self, tis: Sequence[TaskInstance]) -> Sequence[Task
             not_adopted_tis = [ti for ti in tis if ti not in adopted_tis]
             return not_adopted_tis
 
-    def send_message_to_task_logs(self, level: int, msg: str, *args, ti: TaskInstance | TaskInstanceKey):
+    def log_task_event(self, *, ti_key: TaskInstanceKey, description: str):
         # TODO: remove this method when min_airflow_version is set to higher than 2.10.0
-        try:
-            super().send_message_to_task_logs(level, msg, *args, ti=ti)
-        except AttributeError:
-            # ``send_message_to_task_logs`` is added in 2.10.0
-            self.log.error(msg, *args)
+        with suppress(AttributeError):
+            super().log_task_event(ti_key=ti_key, description=description)
diff --git a/airflow/providers/cncf/kubernetes/utils/pod_manager.py b/airflow/providers/cncf/kubernetes/utils/pod_manager.py
index 7c283eaccc989..823fac7bba3b3 100644
--- a/airflow/providers/cncf/kubernetes/utils/pod_manager.py
+++ b/airflow/providers/cncf/kubernetes/utils/pod_manager.py
@@ -187,7 +187,7 @@ def get_container_termination_message(pod: V1Pod, container_name: str):
     with suppress(AttributeError, TypeError):
         container_statuses = pod.status.container_statuses
         container_status = next((x for x in container_statuses if x.name == container_name), None)
-        return container_status.state.terminated.message if container_status else None
+        return container_status.state.terminated.description if container_status else None
 
 
 def check_exception_is_kubernetes_api_unauthorized(exc: BaseException):
diff --git a/airflow/providers/fab/auth_manager/fab_auth_manager.py b/airflow/providers/fab/auth_manager/fab_auth_manager.py
index ffd5e5cab5d3e..2ad78b83fe56f 100644
--- a/airflow/providers/fab/auth_manager/fab_auth_manager.py
+++ b/airflow/providers/fab/auth_manager/fab_auth_manager.py
@@ -72,6 +72,7 @@
     RESOURCE_POOL,
     RESOURCE_PROVIDER,
     RESOURCE_SLA_MISS,
+    RESOURCE_TASK_EVENT_LOG,
     RESOURCE_TASK_INSTANCE,
     RESOURCE_TASK_LOG,
     RESOURCE_TASK_RESCHEDULE,
@@ -93,6 +94,7 @@
     from airflow.providers.fab.auth_manager.security_manager.override import FabAirflowSecurityManagerOverride
 
 _MAP_DAG_ACCESS_ENTITY_TO_FAB_RESOURCE_TYPE: dict[DagAccessEntity, tuple[str, ...]] = {
+    DagAccessEntity.TASK_EVENT_LOG: (RESOURCE_TASK_EVENT_LOG,),
     DagAccessEntity.AUDIT_LOG: (RESOURCE_AUDIT_LOG,),
     DagAccessEntity.CODE: (RESOURCE_DAG_CODE,),
     DagAccessEntity.DEPENDENCIES: (RESOURCE_DAG_DEPENDENCIES,),
diff --git a/airflow/providers/fab/auth_manager/security_manager/override.py b/airflow/providers/fab/auth_manager/security_manager/override.py
index bc9a03966bb05..84de8d52527c6 100644
--- a/airflow/providers/fab/auth_manager/security_manager/override.py
+++ b/airflow/providers/fab/auth_manager/security_manager/override.py
@@ -309,6 +309,7 @@ class FabAirflowSecurityManagerOverride(AirflowSecurityManagerV2):
 
     # [START security_admin_perms]
     ADMIN_PERMISSIONS = [
+        (permissions.ACTION_CAN_READ, permissions.RESOURCE_TASK_EVENT_LOG),
         (permissions.ACTION_CAN_READ, permissions.RESOURCE_AUDIT_LOG),
         (permissions.ACTION_CAN_ACCESS_MENU, permissions.RESOURCE_AUDIT_LOG),
         (permissions.ACTION_CAN_READ, permissions.RESOURCE_TASK_RESCHEDULE),
diff --git a/airflow/security/permissions.py b/airflow/security/permissions.py
index e333876184714..19c33b6df0ff7 100644
--- a/airflow/security/permissions.py
+++ b/airflow/security/permissions.py
@@ -20,6 +20,7 @@
 RESOURCE_ACTION = "Permissions"
 RESOURCE_ADMIN_MENU = "Admin"
 RESOURCE_AUDIT_LOG = "Audit Logs"
+RESOURCE_TASK_EVENT_LOG = "Task Event Logs"
 RESOURCE_BROWSE_MENU = "Browse"
 RESOURCE_CONFIG = "Configurations"
 RESOURCE_CONNECTION = "Connections"
diff --git a/airflow/utils/db.py b/airflow/utils/db.py
index 463b6894f5226..5c21cae1b4f59 100644
--- a/airflow/utils/db.py
+++ b/airflow/utils/db.py
@@ -118,7 +118,7 @@ class MappedClassProtocol(Protocol):
     "2.8.1": "88344c1d9134",
     "2.9.0": "1949afb29106",
     "2.9.2": "686269002441",
-    "2.10.0": "ec3471c1e067",
+    "2.10.0": "8eef27533e75",
 }
 
 
diff --git a/airflow/www/security_manager.py b/airflow/www/security_manager.py
index 926148f7eba86..bb08e37838879 100644
--- a/airflow/www/security_manager.py
+++ b/airflow/www/security_manager.py
@@ -57,6 +57,7 @@
     RESOURCE_POOL,
     RESOURCE_PROVIDER,
     RESOURCE_SLA_MISS,
+    RESOURCE_TASK_EVENT_LOG,
     RESOURCE_TASK_INSTANCE,
     RESOURCE_TASK_RESCHEDULE,
     RESOURCE_TRIGGER,
@@ -271,6 +272,7 @@ def _is_authorized_dag(entity_=None, details_func_=None):
         for resource, entity, details_func in [
             (RESOURCE_DAG, None, None),
             (RESOURCE_AUDIT_LOG, DagAccessEntity.AUDIT_LOG, None),
+            (RESOURCE_TASK_EVENT_LOG, DagAccessEntity.TASK_EVENT_LOG, None),
             (RESOURCE_DAG_CODE, DagAccessEntity.CODE, None),
             (RESOURCE_DAG_DEPENDENCIES, DagAccessEntity.DEPENDENCIES, None),
             (RESOURCE_SLA_MISS, DagAccessEntity.SLA_MISS, None),
diff --git a/airflow/www/static/js/types/api-generated.ts b/airflow/www/static/js/types/api-generated.ts
index 1b82d07835ab2..6a4130137ba8d 100644
--- a/airflow/www/static/js/types/api-generated.ts
+++ b/airflow/www/static/js/types/api-generated.ts
@@ -345,6 +345,14 @@ export interface paths {
       };
     };
   };
+  "/taskEventLogs": {
+    /**
+     * List log entries from task event log (experimental).
+     *
+     * *New in version 2.10.0*
+     */
+    get: operations["get_task_event_logs"];
+  };
   "/eventLogs": {
     /** List log entries from event log. */
     get: operations["get_event_logs"];
@@ -1280,6 +1288,28 @@ export interface components {
       /** @description Other information that was not included in the other fields, e.g. the complete CLI command. */
       extra?: string | null;
     };
+    /** @description Log of task events. */
+    TaskEventLog: {
+      /** @description The task event log ID */
+      id?: number;
+      /**
+       * Format: date-time
+       * @description The time when the event was recorded
+       */
+      created_at?: string;
+      /** @description The DAG ID */
+      dag_id?: string | null;
+      /** @description The Task ID */
+      task_id?: string | null;
+      /** @description The DAG Run ID */
+      run_id?: string | null;
+      /** @description The DAG Run ID */
+      map_index?: number | null;
+      /** @description The DAG Run ID */
+      try_number?: number | null;
+      /** @description A description of the event. */
+      description?: string;
+    };
     /**
      * @description Collection of event logs.
      *
@@ -1288,6 +1318,14 @@ export interface components {
     EventLogCollection: {
       event_logs?: components["schemas"]["EventLog"][];
     } & components["schemas"]["CollectionInfo"];
+    /**
+     * @description Collection of task event logs. (Experimental)
+     *
+     * *Added in version 2.10.0*
+     */
+    TaskEventLogCollection: {
+      data?: components["schemas"]["TaskEventLog"][];
+    } & components["schemas"]["CollectionInfo"];
     ImportError: {
       /** @description The import error ID. */
       import_error_id?: number;
@@ -2598,6 +2636,8 @@ export interface components {
     FilterSourceMapIndex: number;
     /** @description Filter on map index for mapped task. */
     FilterMapIndex: number;
+    /** @description Filter on try number for task instance. */
+    FilterTryNumber: number;
     /**
      * @description The name of the field to order the results by.
      * Prefix a field name with `-` to reverse the sort order.
@@ -3655,6 +3695,48 @@ export interface operations {
       404: components["responses"]["NotFound"];
     };
   };
+  /**
+   * List log entries from task event log (experimental).
+   *
+   * *New in version 2.10.0*
+   */
+  get_task_event_logs: {
+    parameters: {
+      query: {
+        /** The numbers of items to return. */
+        limit?: components["parameters"]["PageLimit"];
+        /** The number of items to skip before starting to collect the result set. */
+        offset?: components["parameters"]["PageOffset"];
+        /**
+         * The name of the field to order the results by.
+         * Prefix a field name with `-` to reverse the sort order.
+         *
+         * *New in version 2.1.0*
+         */
+        order_by?: components["parameters"]["OrderBy"];
+        /** Returns objects matched by the DAG ID. */
+        dag_id?: components["parameters"]["FilterDAGID"];
+        /** Returns objects matched by the Task ID. */
+        task_id?: components["parameters"]["FilterTaskID"];
+        /** Returns objects matched by the Run ID. */
+        run_id?: components["parameters"]["FilterRunID"];
+        /** Filter on map index for mapped task. */
+        map_index?: components["parameters"]["FilterMapIndex"];
+        /** Filter on try number for task instance. */
+        try_number?: components["parameters"]["FilterTryNumber"];
+      };
+    };
+    responses: {
+      /** Success. */
+      200: {
+        content: {
+          "application/json": components["schemas"]["TaskEventLogCollection"];
+        };
+      };
+      401: components["responses"]["Unauthenticated"];
+      403: components["responses"]["PermissionDenied"];
+    };
+  };
   /** List log entries from event log. */
   get_event_logs: {
     parameters: {
@@ -5242,9 +5324,15 @@ export type SetDagRunNote = CamelCasedPropertiesDeep<
 export type EventLog = CamelCasedPropertiesDeep<
   components["schemas"]["EventLog"]
 >;
+export type TaskEventLog = CamelCasedPropertiesDeep<
+  components["schemas"]["TaskEventLog"]
+>;
 export type EventLogCollection = CamelCasedPropertiesDeep<
   components["schemas"]["EventLogCollection"]
 >;
+export type TaskEventLogCollection = CamelCasedPropertiesDeep<
+  components["schemas"]["TaskEventLogCollection"]
+>;
 export type ImportError = CamelCasedPropertiesDeep<
   components["schemas"]["ImportError"]
 >;
@@ -5580,6 +5668,9 @@ export type DeleteDatasetQueuedEventsVariables = CamelCasedPropertiesDeep<
   operations["delete_dataset_queued_events"]["parameters"]["path"] &
     operations["delete_dataset_queued_events"]["parameters"]["query"]
 >;
+export type GetTaskEventLogsVariables = CamelCasedPropertiesDeep<
+  operations["get_task_event_logs"]["parameters"]["query"]
+>;
 export type GetEventLogsVariables = CamelCasedPropertiesDeep<
   operations["get_event_logs"]["parameters"]["query"]
 >;
diff --git a/docs/apache-airflow/img/airflow_erd.sha256 b/docs/apache-airflow/img/airflow_erd.sha256
index a3624746f5ec8..0bca608ed9746 100644
--- a/docs/apache-airflow/img/airflow_erd.sha256
+++ b/docs/apache-airflow/img/airflow_erd.sha256
@@ -1 +1 @@
-88c9ce0742c54f376a3c600600d06ac9a6f80a3a2cb85dfcf2472d1c77ed75db
\ No newline at end of file
+e9e0e8156e73709abafc177c4953303787944f73a47ea18ca1267ba6b25be91b
\ No newline at end of file
diff --git a/docs/apache-airflow/img/airflow_erd.svg b/docs/apache-airflow/img/airflow_erd.svg
index 0328672c20a87..8fbb5caccaeb1 100644
--- a/docs/apache-airflow/img/airflow_erd.svg
+++ b/docs/apache-airflow/img/airflow_erd.svg
@@ -4,104 +4,149 @@
 <!-- Generated by graphviz version 2.43.0 (0)
  -->
 <!-- Title: %3 Pages: 1 -->
-<svg width="1617pt" height="5906pt"
- viewBox="0.00 0.00 1617.00 5906.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 5902)">
+<svg width="1617pt" height="5907pt"
+ viewBox="0.00 0.00 1617.00 5906.50" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 5902.5)">
 <title>%3</title>
-<polygon fill="white" stroke="transparent" points="-4,4 -4,-5902 1613,-5902 1613,4 -4,4"/>
+<polygon fill="white" stroke="transparent" points="-4,4 -4,-5902.5 1613,-5902.5 1613,4 -4,4"/>
 <!-- job -->
 <g id="node1" class="node">
 <title>job</title>
-<polygon fill="none" stroke="black" points="91,-685.5 91,-713.5 329,-713.5 329,-685.5 91,-685.5"/>
-<text text-anchor="start" x="196" y="-696.7" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="16.00">job</text>
-<polygon fill="none" stroke="black" points="91,-660.5 91,-685.5 329,-685.5 329,-660.5 91,-660.5"/>
-<text text-anchor="start" x="96" y="-670.3" font-family="Helvetica,sans-Serif" text-decoration="underline" font-size="14.00">id</text>
-<text text-anchor="start" x="109" y="-670.3" font-family="Helvetica,sans-Serif" font-size="14.00"> </text>
-<text text-anchor="start" x="114" y="-670.3" font-family="Helvetica,sans-Serif" font-size="14.00"> [INTEGER]</text>
-<text text-anchor="start" x="191" y="-670.3" font-family="Helvetica,sans-Serif" font-size="14.00"> NOT NULL</text>
-<polygon fill="none" stroke="black" points="91,-635.5 91,-660.5 329,-660.5 329,-635.5 91,-635.5"/>
-<text text-anchor="start" x="96" y="-645.3" font-family="Helvetica,sans-Serif" font-size="14.00">dag_id</text>
-<text text-anchor="start" x="142" y="-645.3" font-family="Helvetica,sans-Serif" font-size="14.00"> </text>
-<text text-anchor="start" x="147" y="-645.3" font-family="Helvetica,sans-Serif" font-size="14.00"> [VARCHAR(250)]</text>
-<polygon fill="none" stroke="black" points="91,-610.5 91,-635.5 329,-635.5 329,-610.5 91,-610.5"/>
-<text text-anchor="start" x="96" y="-620.3" font-family="Helvetica,sans-Serif" font-size="14.00">end_date</text>
-<text text-anchor="start" x="160" y="-620.3" font-family="Helvetica,sans-Serif" font-size="14.00"> </text>
-<text text-anchor="start" x="165" y="-620.3" font-family="Helvetica,sans-Serif" font-size="14.00"> [TIMESTAMP]</text>
-<polygon fill="none" stroke="black" points="91,-585.5 91,-610.5 329,-610.5 329,-585.5 91,-585.5"/>
-<text text-anchor="start" x="96" y="-595.3" font-family="Helvetica,sans-Serif" font-size="14.00">executor_class</text>
-<text text-anchor="start" x="198" y="-595.3" font-family="Helvetica,sans-Serif" font-size="14.00"> </text>
-<text text-anchor="start" x="203" y="-595.3" font-family="Helvetica,sans-Serif" font-size="14.00"> [VARCHAR(500)]</text>
-<polygon fill="none" stroke="black" points="91,-560.5 91,-585.5 329,-585.5 329,-560.5 91,-560.5"/>
-<text text-anchor="start" x="96" y="-570.3" font-family="Helvetica,sans-Serif" font-size="14.00">hostname</text>
-<text text-anchor="start" x="166" y="-570.3" font-family="Helvetica,sans-Serif" font-size="14.00"> </text>
-<text text-anchor="start" x="171" y="-570.3" font-family="Helvetica,sans-Serif" font-size="14.00"> [VARCHAR(500)]</text>
-<polygon fill="none" stroke="black" points="91,-535.5 91,-560.5 329,-560.5 329,-535.5 91,-535.5"/>
-<text text-anchor="start" x="96" y="-545.3" font-family="Helvetica,sans-Serif" font-size="14.00">job_type</text>
-<text text-anchor="start" x="155" y="-545.3" font-family="Helvetica,sans-Serif" font-size="14.00"> </text>
-<text text-anchor="start" x="160" y="-545.3" font-family="Helvetica,sans-Serif" font-size="14.00"> [VARCHAR(30)]</text>
-<polygon fill="none" stroke="black" points="91,-510.5 91,-535.5 329,-535.5 329,-510.5 91,-510.5"/>
-<text text-anchor="start" x="96" y="-520.3" font-family="Helvetica,sans-Serif" font-size="14.00">latest_heartbeat</text>
-<text text-anchor="start" x="209" y="-520.3" font-family="Helvetica,sans-Serif" font-size="14.00"> </text>
-<text text-anchor="start" x="214" y="-520.3" font-family="Helvetica,sans-Serif" font-size="14.00"> [TIMESTAMP]</text>
-<polygon fill="none" stroke="black" points="91,-485.5 91,-510.5 329,-510.5 329,-485.5 91,-485.5"/>
-<text text-anchor="start" x="96" y="-495.3" font-family="Helvetica,sans-Serif" font-size="14.00">start_date</text>
-<text text-anchor="start" x="166" y="-495.3" font-family="Helvetica,sans-Serif" font-size="14.00"> </text>
-<text text-anchor="start" x="171" y="-495.3" font-family="Helvetica,sans-Serif" font-size="14.00"> [TIMESTAMP]</text>
-<polygon fill="none" stroke="black" points="91,-460.5 91,-485.5 329,-485.5 329,-460.5 91,-460.5"/>
-<text text-anchor="start" x="96" y="-470.3" font-family="Helvetica,sans-Serif" font-size="14.00">state</text>
-<text text-anchor="start" x="131" y="-470.3" font-family="Helvetica,sans-Serif" font-size="14.00"> </text>
-<text text-anchor="start" x="136" y="-470.3" font-family="Helvetica,sans-Serif" font-size="14.00"> [VARCHAR(20)]</text>
-<polygon fill="none" stroke="black" points="91,-435.5 91,-460.5 329,-460.5 329,-435.5 91,-435.5"/>
-<text text-anchor="start" x="96" y="-445.3" font-family="Helvetica,sans-Serif" font-size="14.00">unixname</text>
-<text text-anchor="start" x="166" y="-445.3" font-family="Helvetica,sans-Serif" font-size="14.00"> </text>
-<text text-anchor="start" x="171" y="-445.3" font-family="Helvetica,sans-Serif" font-size="14.00"> [VARCHAR(1000)]</text>
+<polygon fill="none" stroke="black" points="91,-431.5 91,-459.5 329,-459.5 329,-431.5 91,-431.5"/>
+<text text-anchor="start" x="196" y="-442.7" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="16.00">job</text>
+<polygon fill="none" stroke="black" points="91,-406.5 91,-431.5 329,-431.5 329,-406.5 91,-406.5"/>
+<text text-anchor="start" x="96" y="-416.3" font-family="Helvetica,sans-Serif" text-decoration="underline" font-size="14.00">id</text>
+<text text-anchor="start" x="109" y="-416.3" font-family="Helvetica,sans-Serif" font-size="14.00"> </text>
+<text text-anchor="start" x="114" y="-416.3" font-family="Helvetica,sans-Serif" font-size="14.00"> [INTEGER]</text>
+<text text-anchor="start" x="191" y="-416.3" font-family="Helvetica,sans-Serif" font-size="14.00"> NOT NULL</text>
+<polygon fill="none" stroke="black" points="91,-381.5 91,-406.5 329,-406.5 329,-381.5 91,-381.5"/>
+<text text-anchor="start" x="96" y="-391.3" font-family="Helvetica,sans-Serif" font-size="14.00">dag_id</text>
+<text text-anchor="start" x="142" y="-391.3" font-family="Helvetica,sans-Serif" font-size="14.00"> </text>
+<text text-anchor="start" x="147" y="-391.3" font-family="Helvetica,sans-Serif" font-size="14.00"> [VARCHAR(250)]</text>
+<polygon fill="none" stroke="black" points="91,-356.5 91,-381.5 329,-381.5 329,-356.5 91,-356.5"/>
+<text text-anchor="start" x="96" y="-366.3" font-family="Helvetica,sans-Serif" font-size="14.00">end_date</text>
+<text text-anchor="start" x="160" y="-366.3" font-family="Helvetica,sans-Serif" font-size="14.00"> </text>
+<text text-anchor="start" x="165" y="-366.3" font-family="Helvetica,sans-Serif" font-size="14.00"> [TIMESTAMP]</text>
+<polygon fill="none" stroke="black" points="91,-331.5 91,-356.5 329,-356.5 329,-331.5 91,-331.5"/>
+<text text-anchor="start" x="96" y="-341.3" font-family="Helvetica,sans-Serif" font-size="14.00">executor_class</text>
+<text text-anchor="start" x="198" y="-341.3" font-family="Helvetica,sans-Serif" font-size="14.00"> </text>
+<text text-anchor="start" x="203" y="-341.3" font-family="Helvetica,sans-Serif" font-size="14.00"> [VARCHAR(500)]</text>
+<polygon fill="none" stroke="black" points="91,-306.5 91,-331.5 329,-331.5 329,-306.5 91,-306.5"/>
+<text text-anchor="start" x="96" y="-316.3" font-family="Helvetica,sans-Serif" font-size="14.00">hostname</text>
+<text text-anchor="start" x="166" y="-316.3" font-family="Helvetica,sans-Serif" font-size="14.00"> </text>
+<text text-anchor="start" x="171" y="-316.3" font-family="Helvetica,sans-Serif" font-size="14.00"> [VARCHAR(500)]</text>
+<polygon fill="none" stroke="black" points="91,-281.5 91,-306.5 329,-306.5 329,-281.5 91,-281.5"/>
+<text text-anchor="start" x="96" y="-291.3" font-family="Helvetica,sans-Serif" font-size="14.00">job_type</text>
+<text text-anchor="start" x="155" y="-291.3" font-family="Helvetica,sans-Serif" font-size="14.00"> </text>
+<text text-anchor="start" x="160" y="-291.3" font-family="Helvetica,sans-Serif" font-size="14.00"> [VARCHAR(30)]</text>
+<polygon fill="none" stroke="black" points="91,-256.5 91,-281.5 329,-281.5 329,-256.5 91,-256.5"/>
+<text text-anchor="start" x="96" y="-266.3" font-family="Helvetica,sans-Serif" font-size="14.00">latest_heartbeat</text>
+<text text-anchor="start" x="209" y="-266.3" font-family="Helvetica,sans-Serif" font-size="14.00"> </text>
+<text text-anchor="start" x="214" y="-266.3" font-family="Helvetica,sans-Serif" font-size="14.00"> [TIMESTAMP]</text>
+<polygon fill="none" stroke="black" points="91,-231.5 91,-256.5 329,-256.5 329,-231.5 91,-231.5"/>
+<text text-anchor="start" x="96" y="-241.3" font-family="Helvetica,sans-Serif" font-size="14.00">start_date</text>
+<text text-anchor="start" x="166" y="-241.3" font-family="Helvetica,sans-Serif" font-size="14.00"> </text>
+<text text-anchor="start" x="171" y="-241.3" font-family="Helvetica,sans-Serif" font-size="14.00"> [TIMESTAMP]</text>
+<polygon fill="none" stroke="black" points="91,-206.5 91,-231.5 329,-231.5 329,-206.5 91,-206.5"/>
+<text text-anchor="start" x="96" y="-216.3" font-family="Helvetica,sans-Serif" font-size="14.00">state</text>
+<text text-anchor="start" x="131" y="-216.3" font-family="Helvetica,sans-Serif" font-size="14.00"> </text>
+<text text-anchor="start" x="136" y="-216.3" font-family="Helvetica,sans-Serif" font-size="14.00"> [VARCHAR(20)]</text>
+<polygon fill="none" stroke="black" points="91,-181.5 91,-206.5 329,-206.5 329,-181.5 91,-181.5"/>
+<text text-anchor="start" x="96" y="-191.3" font-family="Helvetica,sans-Serif" font-size="14.00">unixname</text>
+<text text-anchor="start" x="166" y="-191.3" font-family="Helvetica,sans-Serif" font-size="14.00"> </text>
+<text text-anchor="start" x="171" y="-191.3" font-family="Helvetica,sans-Serif" font-size="14.00"> [VARCHAR(1000)]</text>
 </g>
 <!-- slot_pool -->
 <g id="node2" class="node">
 <title>slot_pool</title>
-<polygon fill="none" stroke="black" points="65,-864.5 65,-892.5 356,-892.5 356,-864.5 65,-864.5"/>
-<text text-anchor="start" x="169.5" y="-875.7" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="16.00">slot_pool</text>
-<polygon fill="none" stroke="black" points="65,-839.5 65,-864.5 356,-864.5 356,-839.5 65,-839.5"/>
-<text text-anchor="start" x="70" y="-849.3" font-family="Helvetica,sans-Serif" text-decoration="underline" font-size="14.00">id</text>
-<text text-anchor="start" x="83" y="-849.3" font-family="Helvetica,sans-Serif" font-size="14.00"> </text>
-<text text-anchor="start" x="88" y="-849.3" font-family="Helvetica,sans-Serif" font-size="14.00"> [INTEGER]</text>
-<text text-anchor="start" x="165" y="-849.3" font-family="Helvetica,sans-Serif" font-size="14.00"> NOT NULL</text>
-<polygon fill="none" stroke="black" points="65,-814.5 65,-839.5 356,-839.5 356,-814.5 65,-814.5"/>
-<text text-anchor="start" x="70" y="-824.3" font-family="Helvetica,sans-Serif" font-size="14.00">description</text>
-<text text-anchor="start" x="148" y="-824.3" font-family="Helvetica,sans-Serif" font-size="14.00"> </text>
-<text text-anchor="start" x="153" y="-824.3" font-family="Helvetica,sans-Serif" font-size="14.00"> [TEXT]</text>
-<polygon fill="none" stroke="black" points="65,-789.5 65,-814.5 356,-814.5 356,-789.5 65,-789.5"/>
-<text text-anchor="start" x="70" y="-799.3" font-family="Helvetica,sans-Serif" font-size="14.00">include_deferred</text>
-<text text-anchor="start" x="186" y="-799.3" font-family="Helvetica,sans-Serif" font-size="14.00"> </text>
-<text text-anchor="start" x="191" y="-799.3" font-family="Helvetica,sans-Serif" font-size="14.00"> [BOOLEAN]</text>
-<text text-anchor="start" x="275" y="-799.3" font-family="Helvetica,sans-Serif" font-size="14.00"> NOT NULL</text>
-<polygon fill="none" stroke="black" points="65,-764.5 65,-789.5 356,-789.5 356,-764.5 65,-764.5"/>
-<text text-anchor="start" x="70" y="-774.3" font-family="Helvetica,sans-Serif" font-size="14.00">pool</text>
-<text text-anchor="start" x="100" y="-774.3" font-family="Helvetica,sans-Serif" font-size="14.00"> </text>
-<text text-anchor="start" x="105" y="-774.3" font-family="Helvetica,sans-Serif" font-size="14.00"> [VARCHAR(256)]</text>
-<polygon fill="none" stroke="black" points="65,-739.5 65,-764.5 356,-764.5 356,-739.5 65,-739.5"/>
-<text text-anchor="start" x="70" y="-749.3" font-family="Helvetica,sans-Serif" font-size="14.00">slots</text>
-<text text-anchor="start" x="103" y="-749.3" font-family="Helvetica,sans-Serif" font-size="14.00"> </text>
-<text text-anchor="start" x="108" y="-749.3" font-family="Helvetica,sans-Serif" font-size="14.00"> [INTEGER]</text>
+<polygon fill="none" stroke="black" points="65,-610.5 65,-638.5 356,-638.5 356,-610.5 65,-610.5"/>
+<text text-anchor="start" x="169.5" y="-621.7" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="16.00">slot_pool</text>
+<polygon fill="none" stroke="black" points="65,-585.5 65,-610.5 356,-610.5 356,-585.5 65,-585.5"/>
+<text text-anchor="start" x="70" y="-595.3" font-family="Helvetica,sans-Serif" text-decoration="underline" font-size="14.00">id</text>
+<text text-anchor="start" x="83" y="-595.3" font-family="Helvetica,sans-Serif" font-size="14.00"> </text>
+<text text-anchor="start" x="88" y="-595.3" font-family="Helvetica,sans-Serif" font-size="14.00"> [INTEGER]</text>
+<text text-anchor="start" x="165" y="-595.3" font-family="Helvetica,sans-Serif" font-size="14.00"> NOT NULL</text>
+<polygon fill="none" stroke="black" points="65,-560.5 65,-585.5 356,-585.5 356,-560.5 65,-560.5"/>
+<text text-anchor="start" x="70" y="-570.3" font-family="Helvetica,sans-Serif" font-size="14.00">description</text>
+<text text-anchor="start" x="148" y="-570.3" font-family="Helvetica,sans-Serif" font-size="14.00"> </text>
+<text text-anchor="start" x="153" y="-570.3" font-family="Helvetica,sans-Serif" font-size="14.00"> [TEXT]</text>
+<polygon fill="none" stroke="black" points="65,-535.5 65,-560.5 356,-560.5 356,-535.5 65,-535.5"/>
+<text text-anchor="start" x="70" y="-545.3" font-family="Helvetica,sans-Serif" font-size="14.00">include_deferred</text>
+<text text-anchor="start" x="186" y="-545.3" font-family="Helvetica,sans-Serif" font-size="14.00"> </text>
+<text text-anchor="start" x="191" y="-545.3" font-family="Helvetica,sans-Serif" font-size="14.00"> [BOOLEAN]</text>
+<text text-anchor="start" x="275" y="-545.3" font-family="Helvetica,sans-Serif" font-size="14.00"> NOT NULL</text>
+<polygon fill="none" stroke="black" points="65,-510.5 65,-535.5 356,-535.5 356,-510.5 65,-510.5"/>
+<text text-anchor="start" x="70" y="-520.3" font-family="Helvetica,sans-Serif" font-size="14.00">pool</text>
+<text text-anchor="start" x="100" y="-520.3" font-family="Helvetica,sans-Serif" font-size="14.00"> </text>
+<text text-anchor="start" x="105" y="-520.3" font-family="Helvetica,sans-Serif" font-size="14.00"> [VARCHAR(256)]</text>
+<polygon fill="none" stroke="black" points="65,-485.5 65,-510.5 356,-510.5 356,-485.5 65,-485.5"/>
+<text text-anchor="start" x="70" y="-495.3" font-family="Helvetica,sans-Serif" font-size="14.00">slots</text>
+<text text-anchor="start" x="103" y="-495.3" font-family="Helvetica,sans-Serif" font-size="14.00"> </text>
+<text text-anchor="start" x="108" y="-495.3" font-family="Helvetica,sans-Serif" font-size="14.00"> [INTEGER]</text>
 </g>
 <!-- dag_priority_parsing_request -->
 <g id="node3" class="node">
 <title>dag_priority_parsing_request</title>
-<polygon fill="none" stroke="black" points="74,-969.5 74,-997.5 346,-997.5 346,-969.5 74,-969.5"/>
-<text text-anchor="start" x="79" y="-980.7" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="16.00">dag_priority_parsing_request</text>
-<polygon fill="none" stroke="black" points="74,-944.5 74,-969.5 346,-969.5 346,-944.5 74,-944.5"/>
-<text text-anchor="start" x="79" y="-954.3" font-family="Helvetica,sans-Serif" text-decoration="underline" font-size="14.00">id</text>
-<text text-anchor="start" x="92" y="-954.3" font-family="Helvetica,sans-Serif" font-size="14.00"> </text>
-<text text-anchor="start" x="97" y="-954.3" font-family="Helvetica,sans-Serif" font-size="14.00"> [VARCHAR(32)]</text>
-<text text-anchor="start" x="209" y="-954.3" font-family="Helvetica,sans-Serif" font-size="14.00"> NOT NULL</text>
-<polygon fill="none" stroke="black" points="74,-919.5 74,-944.5 346,-944.5 346,-919.5 74,-919.5"/>
-<text text-anchor="start" x="79" y="-929.3" font-family="Helvetica,sans-Serif" font-size="14.00">fileloc</text>
-<text text-anchor="start" x="120" y="-929.3" font-family="Helvetica,sans-Serif" font-size="14.00"> </text>
-<text text-anchor="start" x="125" y="-929.3" font-family="Helvetica,sans-Serif" font-size="14.00"> [VARCHAR(2000)]</text>
-<text text-anchor="start" x="255" y="-929.3" font-family="Helvetica,sans-Serif" font-size="14.00"> NOT NULL</text>
+<polygon fill="none" stroke="black" points="74,-715.5 74,-743.5 346,-743.5 346,-715.5 74,-715.5"/>
+<text text-anchor="start" x="79" y="-726.7" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="16.00">dag_priority_parsing_request</text>
+<polygon fill="none" stroke="black" points="74,-690.5 74,-715.5 346,-715.5 346,-690.5 74,-690.5"/>
+<text text-anchor="start" x="79" y="-700.3" font-family="Helvetica,sans-Serif" text-decoration="underline" font-size="14.00">id</text>
+<text text-anchor="start" x="92" y="-700.3" font-family="Helvetica,sans-Serif" font-size="14.00"> </text>
+<text text-anchor="start" x="97" y="-700.3" font-family="Helvetica,sans-Serif" font-size="14.00"> [VARCHAR(32)]</text>
+<text text-anchor="start" x="209" y="-700.3" font-family="Helvetica,sans-Serif" font-size="14.00"> NOT NULL</text>
+<polygon fill="none" stroke="black" points="74,-665.5 74,-690.5 346,-690.5 346,-665.5 74,-665.5"/>
+<text text-anchor="start" x="79" y="-675.3" font-family="Helvetica,sans-Serif" font-size="14.00">fileloc</text>
+<text text-anchor="start" x="120" y="-675.3" font-family="Helvetica,sans-Serif" font-size="14.00"> </text>
+<text text-anchor="start" x="125" y="-675.3" font-family="Helvetica,sans-Serif" font-size="14.00"> [VARCHAR(2000)]</text>
+<text text-anchor="start" x="255" y="-675.3" font-family="Helvetica,sans-Serif" font-size="14.00"> NOT NULL</text>
+</g>
+<!-- task_event_log -->
+<g id="node4" class="node">
+<title>task_event_log</title>
+<polygon fill="none" stroke="black" points="80,-969.5 80,-997.5 341,-997.5 341,-969.5 80,-969.5"/>
+<text text-anchor="start" x="144" y="-980.7" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="16.00">task_event_log</text>
+<polygon fill="none" stroke="black" points="80,-944.5 80,-969.5 341,-969.5 341,-944.5 80,-944.5"/>
+<text text-anchor="start" x="85" y="-954.3" font-family="Helvetica,sans-Serif" text-decoration="underline" font-size="14.00">id</text>
+<text text-anchor="start" x="98" y="-954.3" font-family="Helvetica,sans-Serif" font-size="14.00"> </text>
+<text text-anchor="start" x="103" y="-954.3" font-family="Helvetica,sans-Serif" font-size="14.00"> [INTEGER]</text>
+<text text-anchor="start" x="180" y="-954.3" font-family="Helvetica,sans-Serif" font-size="14.00"> NOT NULL</text>
+<polygon fill="none" stroke="black" points="80,-919.5 80,-944.5 341,-944.5 341,-919.5 80,-919.5"/>
+<text text-anchor="start" x="85" y="-929.3" font-family="Helvetica,sans-Serif" font-size="14.00">created_at</text>
+<text text-anchor="start" x="158" y="-929.3" font-family="Helvetica,sans-Serif" font-size="14.00"> </text>
+<text text-anchor="start" x="163" y="-929.3" font-family="Helvetica,sans-Serif" font-size="14.00"> [TIMESTAMP]</text>
+<text text-anchor="start" x="259" y="-929.3" font-family="Helvetica,sans-Serif" font-size="14.00"> NOT NULL</text>
+<polygon fill="none" stroke="black" points="80,-894.5 80,-919.5 341,-919.5 341,-894.5 80,-894.5"/>
+<text text-anchor="start" x="85" y="-904.3" font-family="Helvetica,sans-Serif" font-size="14.00">dag_id</text>
+<text text-anchor="start" x="131" y="-904.3" font-family="Helvetica,sans-Serif" font-size="14.00"> </text>
+<text text-anchor="start" x="136" y="-904.3" font-family="Helvetica,sans-Serif" font-size="14.00"> [VARCHAR(250)]</text>
+<text text-anchor="start" x="257" y="-904.3" font-family="Helvetica,sans-Serif" font-size="14.00"> NOT NULL</text>
+<polygon fill="none" stroke="black" points="80,-869.5 80,-894.5 341,-894.5 341,-869.5 80,-869.5"/>
+<text text-anchor="start" x="85" y="-879.3" font-family="Helvetica,sans-Serif" font-size="14.00">description</text>
+<text text-anchor="start" x="163" y="-879.3" font-family="Helvetica,sans-Serif" font-size="14.00"> </text>
+<text text-anchor="start" x="168" y="-879.3" font-family="Helvetica,sans-Serif" font-size="14.00"> [VARCHAR(100)]</text>
+<polygon fill="none" stroke="black" points="80,-844.5 80,-869.5 341,-869.5 341,-844.5 80,-844.5"/>
+<text text-anchor="start" x="85" y="-854.3" font-family="Helvetica,sans-Serif" font-size="14.00">map_index</text>
+<text text-anchor="start" x="161" y="-854.3" font-family="Helvetica,sans-Serif" font-size="14.00"> </text>
+<text text-anchor="start" x="166" y="-854.3" font-family="Helvetica,sans-Serif" font-size="14.00"> [INTEGER]</text>
+<text text-anchor="start" x="243" y="-854.3" font-family="Helvetica,sans-Serif" font-size="14.00"> NOT NULL</text>
+<polygon fill="none" stroke="black" points="80,-819.5 80,-844.5 341,-844.5 341,-819.5 80,-819.5"/>
+<text text-anchor="start" x="85" y="-829.3" font-family="Helvetica,sans-Serif" font-size="14.00">run_id</text>
+<text text-anchor="start" x="129" y="-829.3" font-family="Helvetica,sans-Serif" font-size="14.00"> </text>
+<text text-anchor="start" x="134" y="-829.3" font-family="Helvetica,sans-Serif" font-size="14.00"> [VARCHAR(250)]</text>
+<text text-anchor="start" x="255" y="-829.3" font-family="Helvetica,sans-Serif" font-size="14.00"> NOT NULL</text>
+<polygon fill="none" stroke="black" points="80,-794.5 80,-819.5 341,-819.5 341,-794.5 80,-794.5"/>
+<text text-anchor="start" x="85" y="-804.3" font-family="Helvetica,sans-Serif" font-size="14.00">task_id</text>
+<text text-anchor="start" x="134" y="-804.3" font-family="Helvetica,sans-Serif" font-size="14.00"> </text>
+<text text-anchor="start" x="139" y="-804.3" font-family="Helvetica,sans-Serif" font-size="14.00"> [VARCHAR(250)]</text>
+<text text-anchor="start" x="260" y="-804.3" font-family="Helvetica,sans-Serif" font-size="14.00"> NOT NULL</text>
+<polygon fill="none" stroke="black" points="80,-769.5 80,-794.5 341,-794.5 341,-769.5 80,-769.5"/>
+<text text-anchor="start" x="85" y="-779.3" font-family="Helvetica,sans-Serif" font-size="14.00">try_number</text>
+<text text-anchor="start" x="167" y="-779.3" font-family="Helvetica,sans-Serif" font-size="14.00"> </text>
+<text text-anchor="start" x="172" y="-779.3" font-family="Helvetica,sans-Serif" font-size="14.00"> [INTEGER]</text>
+<text text-anchor="start" x="249" y="-779.3" font-family="Helvetica,sans-Serif" font-size="14.00"> NOT NULL</text>
 </g>
 <!-- log -->
-<g id="node4" class="node">
+<g id="node5" class="node">
 <title>log</title>
 <polygon fill="none" stroke="black" points="70,-1298.5 70,-1326.5 351,-1326.5 351,-1298.5 70,-1298.5"/>
 <text text-anchor="start" x="196.5" y="-1309.7" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="16.00">log</text>
@@ -152,7 +197,7 @@
 <text text-anchor="start" x="129" y="-1033.3" font-family="Helvetica,sans-Serif" font-size="14.00"> [VARCHAR(250)]</text>
 </g>
 <!-- dag_code -->
-<g id="node5" class="node">
+<g id="node6" class="node">
 <title>dag_code</title>
 <polygon fill="none" stroke="black" points="72,-1453.5 72,-1481.5 349,-1481.5 349,-1453.5 72,-1453.5"/>
 <text text-anchor="start" x="168" y="-1464.7" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="16.00">dag_code</text>
@@ -178,7 +223,7 @@
 <text text-anchor="start" x="218" y="-1363.3" font-family="Helvetica,sans-Serif" font-size="14.00"> NOT NULL</text>
 </g>
 <!-- dag_pickle -->
-<g id="node6" class="node">
+<g id="node7" class="node">
 <title>dag_pickle</title>
 <polygon fill="none" stroke="black" points="109,-1607.5 109,-1635.5 312,-1635.5 312,-1607.5 109,-1607.5"/>
 <text text-anchor="start" x="163.5" y="-1618.7" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="16.00">dag_pickle</text>
@@ -201,7 +246,7 @@
 <text text-anchor="start" x="201" y="-1517.3" font-family="Helvetica,sans-Serif" font-size="14.00"> [BIGINT]</text>
 </g>
 <!-- ab_user -->
-<g id="node7" class="node">
+<g id="node8" class="node">
 <title>ab_user</title>
 <polygon fill="none" stroke="black" points="511,-2711.5 511,-2739.5 797,-2739.5 797,-2711.5 511,-2711.5"/>
 <text text-anchor="start" x="619" y="-2722.7" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="16.00">ab_user</text>
@@ -282,7 +327,7 @@
 <text text-anchor="start" x="581.97" y="-2747.68" font-family="Times,serif" font-size="14.00">{0,1}</text>
 </g>
 <!-- ab_user_role -->
-<g id="node8" class="node">
+<g id="node9" class="node">
 <title>ab_user_role</title>
 <polygon fill="none" stroke="black" points="960,-2754.5 960,-2782.5 1141,-2782.5 1141,-2754.5 960,-2754.5"/>
 <text text-anchor="start" x="993.5" y="-2765.7" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="16.00">ab_user_role</text>
@@ -308,7 +353,7 @@
 <text text-anchor="start" x="805.08" y="-2608.24" font-family="Times,serif" font-size="14.00">{0,1}</text>
 </g>
 <!-- dag_run_note -->
-<g id="node9" class="node">
+<g id="node10" class="node">
 <title>dag_run_note</title>
 <polygon fill="none" stroke="black" points="917,-2388.5 917,-2416.5 1183,-2416.5 1183,-2388.5 917,-2388.5"/>
 <text text-anchor="start" x="989.5" y="-2399.7" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="16.00">dag_run_note</text>
@@ -344,7 +389,7 @@
 <text text-anchor="start" x="805.08" y="-2459.31" font-family="Times,serif" font-size="14.00">{0,1}</text>
 </g>
 <!-- task_instance_note -->
-<g id="node10" class="node">
+<g id="node11" class="node">
 <title>task_instance_note</title>
 <polygon fill="none" stroke="black" points="1314,-2303.5 1314,-2331.5 1580,-2331.5 1580,-2303.5 1314,-2303.5"/>
 <text text-anchor="start" x="1361" y="-2314.7" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="16.00">task_instance_note</text>
@@ -395,7 +440,7 @@
 <text text-anchor="start" x="805.17" y="-2527.94" font-family="Times,serif" font-size="14.00">{0,1}</text>
 </g>
 <!-- ab_register_user -->
-<g id="node11" class="node">
+<g id="node12" class="node">
 <title>ab_register_user</title>
 <polygon fill="none" stroke="black" points="67,-3274.5 67,-3302.5 353,-3302.5 353,-3274.5 67,-3274.5"/>
 <text text-anchor="start" x="135" y="-3285.7" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="16.00">ab_register_user</text>
@@ -438,7 +483,7 @@
 <text text-anchor="start" x="268" y="-3084.3" font-family="Helvetica,sans-Serif" font-size="14.00"> NOT NULL</text>
 </g>
 <!-- connection -->
-<g id="node12" class="node">
+<g id="node13" class="node">
 <title>connection</title>
 <polygon fill="none" stroke="black" points="68,-3628.5 68,-3656.5 352,-3656.5 352,-3628.5 68,-3628.5"/>
 <text text-anchor="start" x="160" y="-3639.7" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="16.00">connection</text>
@@ -495,7 +540,7 @@
 <text text-anchor="start" x="133" y="-3338.3" font-family="Helvetica,sans-Serif" font-size="14.00"> [VARCHAR(500)]</text>
 </g>
 <!-- callback_request -->
-<g id="node13" class="node">
+<g id="node14" class="node">
 <title>callback_request</title>
 <polygon fill="none" stroke="black" points="62,-3832.5 62,-3860.5 359,-3860.5 359,-3832.5 62,-3832.5"/>
 <text text-anchor="start" x="135" y="-3843.7" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="16.00">callback_request</text>
@@ -530,7 +575,7 @@
 <text text-anchor="start" x="191" y="-3692.3" font-family="Helvetica,sans-Serif" font-size="14.00"> [VARCHAR(2000)]</text>
 </g>
 <!-- sla_miss -->
-<g id="node14" class="node">
+<g id="node15" class="node">
 <title>sla_miss</title>
 <polygon fill="none" stroke="black" points="64,-4061.5 64,-4089.5 356,-4089.5 356,-4061.5 64,-4061.5"/>
 <text text-anchor="start" x="172" y="-4072.7" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="16.00">sla_miss</text>
@@ -567,7 +612,7 @@
 <text text-anchor="start" x="149" y="-3896.3" font-family="Helvetica,sans-Serif" font-size="14.00"> [TIMESTAMP]</text>
 </g>
 <!-- variable -->
-<g id="node15" class="node">
+<g id="node16" class="node">
 <title>variable</title>
 <polygon fill="none" stroke="black" points="116,-4240.5 116,-4268.5 304,-4268.5 304,-4240.5 116,-4240.5"/>
 <text text-anchor="start" x="173.5" y="-4251.7" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="16.00">variable</text>
@@ -594,7 +639,7 @@
 <text text-anchor="start" x="147" y="-4125.3" font-family="Helvetica,sans-Serif" font-size="14.00"> [TEXT]</text>
 </g>
 <!-- import_error -->
-<g id="node16" class="node">
+<g id="node17" class="node">
 <title>import_error</title>
 <polygon fill="none" stroke="black" points="78,-4419.5 78,-4447.5 342,-4447.5 342,-4419.5 78,-4419.5"/>
 <text text-anchor="start" x="152.5" y="-4430.7" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="16.00">import_error</text>
@@ -621,7 +666,7 @@
 <text text-anchor="start" x="163" y="-4304.3" font-family="Helvetica,sans-Serif" font-size="14.00"> [TIMESTAMP]</text>
 </g>
 <!-- serialized_dag -->
-<g id="node17" class="node">
+<g id="node18" class="node">
 <title>serialized_dag</title>
 <polygon fill="none" stroke="black" points="72,-4674.5 72,-4702.5 349,-4702.5 349,-4674.5 72,-4674.5"/>
 <text text-anchor="start" x="147" y="-4685.7" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="16.00">serialized_dag</text>
@@ -664,7 +709,7 @@
 <text text-anchor="start" x="201" y="-4484.3" font-family="Helvetica,sans-Serif" font-size="14.00"> [VARCHAR(2000)]</text>
 </g>
 <!-- dataset -->
-<g id="node18" class="node">
+<g id="node19" class="node">
 <title>dataset</title>
 <polygon fill="none" stroke="black" points="77,-5632.5 77,-5660.5 343,-5660.5 343,-5632.5 77,-5632.5"/>
 <text text-anchor="start" x="176" y="-5643.7" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="16.00">dataset</text>
@@ -700,7 +745,7 @@
 <text text-anchor="start" x="236" y="-5492.3" font-family="Helvetica,sans-Serif" font-size="14.00"> NOT NULL</text>
 </g>
 <!-- dag_schedule_dataset_reference -->
-<g id="node19" class="node">
+<g id="node20" class="node">
 <title>dag_schedule_dataset_reference</title>
 <polygon fill="none" stroke="black" points="503,-5607.5 503,-5635.5 805,-5635.5 805,-5607.5 503,-5607.5"/>
 <text text-anchor="start" x="508" y="-5618.7" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="16.00">dag_schedule_dataset_reference</text>
@@ -733,7 +778,7 @@
 <text text-anchor="start" x="351.16" y="-5560.3" font-family="Times,serif" font-size="14.00">1</text>
 </g>
 <!-- task_outlet_dataset_reference -->
-<g id="node20" class="node">
+<g id="node21" class="node">
 <title>task_outlet_dataset_reference</title>
 <polygon fill="none" stroke="black" points="514,-5452.5 514,-5480.5 795,-5480.5 795,-5452.5 514,-5452.5"/>
 <text text-anchor="start" x="519" y="-5463.7" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="16.00">task_outlet_dataset_reference</text>
@@ -771,7 +816,7 @@
 <text text-anchor="start" x="351.16" y="-5507.35" font-family="Times,serif" font-size="14.00">1</text>
 </g>
 <!-- dataset_dag_run_queue -->
-<g id="node21" class="node">
+<g id="node22" class="node">
 <title>dataset_dag_run_queue</title>
 <polygon fill="none" stroke="black" points="501,-5273.5 501,-5301.5 807,-5301.5 807,-5273.5 501,-5273.5"/>
 <text text-anchor="start" x="548.5" y="-5284.7" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="16.00">dataset_dag_run_queue</text>
@@ -799,7 +844,7 @@
 <text text-anchor="start" x="351.01" y="-5523.4" font-family="Times,serif" font-size="14.00">1</text>
 </g>
 <!-- dag -->
-<g id="node22" class="node">
+<g id="node23" class="node">
 <title>dag</title>
 <polygon fill="none" stroke="black" points="8,-5428.5 8,-5456.5 412,-5456.5 412,-5428.5 8,-5428.5"/>
 <text text-anchor="start" x="193" y="-5439.7" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="16.00">dag</text>
@@ -942,7 +987,7 @@
 <text text-anchor="start" x="420.03" y="-5156.02" font-family="Times,serif" font-size="14.00">1</text>
 </g>
 <!-- dag_tag -->
-<g id="node23" class="node">
+<g id="node24" class="node">
 <title>dag_tag</title>
 <polygon fill="none" stroke="black" points="525,-5144.5 525,-5172.5 783,-5172.5 783,-5144.5 525,-5144.5"/>
 <text text-anchor="start" x="618.5" y="-5155.7" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="16.00">dag_tag</text>
@@ -965,7 +1010,7 @@
 <text text-anchor="start" x="420.03" y="-5100.69" font-family="Times,serif" font-size="14.00">1</text>
 </g>
 <!-- dag_owner_attributes -->
-<g id="node24" class="node">
+<g id="node25" class="node">
 <title>dag_owner_attributes</title>
 <polygon fill="none" stroke="black" points="525,-5039.5 525,-5067.5 783,-5067.5 783,-5039.5 525,-5039.5"/>
 <text text-anchor="start" x="556" y="-5050.7" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="16.00">dag_owner_attributes</text>
@@ -993,7 +1038,7 @@
 <text text-anchor="start" x="420.03" y="-5045.36" font-family="Times,serif" font-size="14.00">1</text>
 </g>
 <!-- dag_warning -->
-<g id="node25" class="node">
+<g id="node26" class="node">
 <title>dag_warning</title>
 <polygon fill="none" stroke="black" points="506,-4910.5 506,-4938.5 803,-4938.5 803,-4910.5 506,-4910.5"/>
 <text text-anchor="start" x="597" y="-4921.7" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="16.00">dag_warning</text>
@@ -1026,7 +1071,7 @@
 <text text-anchor="start" x="420.35" y="-4977.16" font-family="Times,serif" font-size="14.00">1</text>
 </g>
 <!-- dataset_alias -->
-<g id="node26" class="node">
+<g id="node27" class="node">
 <title>dataset_alias</title>
 <polygon fill="none" stroke="black" points="524,-2307.5 524,-2335.5 785,-2335.5 785,-2307.5 524,-2307.5"/>
 <text text-anchor="start" x="595.5" y="-2318.7" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="16.00">dataset_alias</text>
@@ -1042,7 +1087,7 @@
 <text text-anchor="start" x="704" y="-2267.3" font-family="Helvetica,sans-Serif" font-size="14.00"> NOT NULL</text>
 </g>
 <!-- dataset_alias_dataset_event -->
-<g id="node27" class="node">
+<g id="node28" class="node">
 <title>dataset_alias_dataset_event</title>
 <polygon fill="none" stroke="black" points="919,-2191.5 919,-2219.5 1181,-2219.5 1181,-2191.5 919,-2191.5"/>
 <text text-anchor="start" x="924" y="-2202.7" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="16.00">dataset_alias_dataset_event</text>
@@ -1072,7 +1117,7 @@
 <text text-anchor="start" x="792.53" y="-2251.28" font-family="Times,serif" font-size="14.00">1</text>
 </g>
 <!-- dataset_event -->
-<g id="node28" class="node">
+<g id="node29" class="node">
 <title>dataset_event</title>
 <polygon fill="none" stroke="black" points="523,-2203.5 523,-2231.5 785,-2231.5 785,-2203.5 523,-2203.5"/>
 <text text-anchor="start" x="590.5" y="-2214.7" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="16.00">dataset_event</text>
@@ -1128,7 +1173,7 @@
 <text text-anchor="start" x="793.08" y="-2149.85" font-family="Times,serif" font-size="14.00">1</text>
 </g>
 <!-- dagrun_dataset_event -->
-<g id="node29" class="node">
+<g id="node30" class="node">
 <title>dagrun_dataset_event</title>
 <polygon fill="none" stroke="black" points="928,-2078.5 928,-2106.5 1173,-2106.5 1173,-2078.5 928,-2078.5"/>
 <text text-anchor="start" x="951" y="-2089.7" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="16.00">dagrun_dataset_event</text>
@@ -1151,7 +1196,7 @@
 <text text-anchor="start" x="793.08" y="-2088.78" font-family="Times,serif" font-size="14.00">1</text>
 </g>
 <!-- log_template -->
-<g id="node30" class="node">
+<g id="node31" class="node">
 <title>log_template</title>
 <polygon fill="none" stroke="black" points="80,-1761.5 80,-1789.5 340,-1789.5 340,-1761.5 80,-1761.5"/>
 <text text-anchor="start" x="152" y="-1772.7" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="16.00">log_template</text>
@@ -1177,7 +1222,7 @@
 <text text-anchor="start" x="201" y="-1671.3" font-family="Helvetica,sans-Serif" font-size="14.00"> NOT NULL</text>
 </g>
 <!-- dag_run -->
-<g id="node31" class="node">
+<g id="node32" class="node">
 <title>dag_run</title>
 <polygon fill="none" stroke="black" points="508,-1948.5 508,-1976.5 800,-1976.5 800,-1948.5 508,-1948.5"/>
 <text text-anchor="start" x="617.5" y="-1959.7" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="16.00">dag_run</text>
@@ -1286,7 +1331,7 @@
 <text text-anchor="start" x="808.09" y="-1883.33" font-family="Times,serif" font-size="14.00">1</text>
 </g>
 <!-- task_instance -->
-<g id="node32" class="node">
+<g id="node33" class="node">
 <title>task_instance</title>
 <polygon fill="none" stroke="black" points="896,-1841.5 896,-1869.5 1204,-1869.5 1204,-1841.5 896,-1841.5"/>
 <text text-anchor="start" x="988.5" y="-1852.7" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="16.00">task_instance</text>
@@ -1440,7 +1485,7 @@
 <text text-anchor="start" x="808.18" y="-1630.93" font-family="Times,serif" font-size="14.00">1</text>
 </g>
 <!-- task_reschedule -->
-<g id="node33" class="node">
+<g id="node34" class="node">
 <title>task_reschedule</title>
 <polygon fill="none" stroke="black" points="1297,-1845.5 1297,-1873.5 1598,-1873.5 1598,-1845.5 1297,-1845.5"/>
 <text text-anchor="start" x="1375" y="-1856.7" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="16.00">task_reschedule</text>
@@ -1566,7 +1611,7 @@
 <text text-anchor="start" x="1212.23" y="-1593.13" font-family="Times,serif" font-size="14.00">1</text>
 </g>
 <!-- rendered_task_instance_fields -->
-<g id="node40" class="node">
+<g id="node41" class="node">
 <title>rendered_task_instance_fields</title>
 <polygon fill="none" stroke="black" points="1307,-2049.5 1307,-2077.5 1587,-2077.5 1587,-2049.5 1307,-2049.5"/>
 <text text-anchor="start" x="1312" y="-2060.7" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="16.00">rendered_task_instance_fields</text>
@@ -1629,7 +1674,7 @@
 <text text-anchor="start" x="1212.17" y="-1725.87" font-family="Times,serif" font-size="14.00">1</text>
 </g>
 <!-- task_fail -->
-<g id="node41" class="node">
+<g id="node42" class="node">
 <title>task_fail</title>
 <polygon fill="none" stroke="black" points="1317,-1541.5 1317,-1569.5 1578,-1569.5 1578,-1541.5 1317,-1541.5"/>
 <text text-anchor="start" x="1410" y="-1552.7" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="16.00">task_fail</text>
@@ -1700,7 +1745,7 @@
 <text text-anchor="start" x="1212.23" y="-1479.24" font-family="Times,serif" font-size="14.00">1</text>
 </g>
 <!-- task_map -->
-<g id="node42" class="node">
+<g id="node43" class="node">
 <title>task_map</title>
 <polygon fill="none" stroke="black" points="1317,-1287.5 1317,-1315.5 1578,-1315.5 1578,-1287.5 1317,-1287.5"/>
 <text text-anchor="start" x="1405" y="-1298.7" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="16.00">task_map</text>
@@ -1763,7 +1808,7 @@
 <text text-anchor="start" x="1212.23" y="-1385.77" font-family="Times,serif" font-size="14.00">1</text>
 </g>
 <!-- xcom -->
-<g id="node43" class="node">
+<g id="node44" class="node">
 <title>xcom</title>
 <polygon fill="none" stroke="black" points="1316,-1083.5 1316,-1111.5 1578,-1111.5 1578,-1083.5 1316,-1083.5"/>
 <text text-anchor="start" x="1422.5" y="-1094.7" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="16.00">xcom</text>
@@ -1836,7 +1881,7 @@
 <text text-anchor="start" x="1212.31" y="-1225.64" font-family="Times,serif" font-size="14.00">1</text>
 </g>
 <!-- task_instance_history -->
-<g id="node44" class="node">
+<g id="node45" class="node">
 <title>task_instance_history</title>
 <polygon fill="none" stroke="black" points="1293,-828.5 1293,-856.5 1601,-856.5 1601,-828.5 1293,-828.5"/>
 <text text-anchor="start" x="1349.5" y="-839.7" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="16.00">task_instance_history</text>
@@ -2010,7 +2055,7 @@
 <text text-anchor="start" x="1212.09" y="-1061.23" font-family="Times,serif" font-size="14.00">1</text>
 </g>
 <!-- ab_permission -->
-<g id="node34" class="node">
+<g id="node35" class="node">
 <title>ab_permission</title>
 <polygon fill="none" stroke="black" points="84,-2916.5 84,-2944.5 336,-2944.5 336,-2916.5 84,-2916.5"/>
 <text text-anchor="start" x="145" y="-2927.7" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="16.00">ab_permission</text>
@@ -2026,7 +2071,7 @@
 <text text-anchor="start" x="255" y="-2876.3" font-family="Helvetica,sans-Serif" font-size="14.00"> NOT NULL</text>
 </g>
 <!-- ab_permission_view -->
-<g id="node35" class="node">
+<g id="node36" class="node">
 <title>ab_permission_view</title>
 <polygon fill="none" stroke="black" points="559,-2980.5 559,-3008.5 749,-3008.5 749,-2980.5 559,-2980.5"/>
 <text text-anchor="start" x="564.5" y="-2991.7" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="16.00">ab_permission_view</text>
@@ -2052,7 +2097,7 @@
 <text text-anchor="start" x="344.21" y="-2909.97" font-family="Times,serif" font-size="14.00">{0,1}</text>
 </g>
 <!-- ab_permission_view_role -->
-<g id="node36" class="node">
+<g id="node37" class="node">
 <title>ab_permission_view_role</title>
 <polygon fill="none" stroke="black" points="934,-2921.5 934,-2949.5 1167,-2949.5 1167,-2921.5 934,-2921.5"/>
 <text text-anchor="start" x="939" y="-2932.7" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="16.00">ab_permission_view_role</text>
@@ -2078,7 +2123,7 @@
 <text text-anchor="start" x="757.23" y="-2930.99" font-family="Times,serif" font-size="14.00">{0,1}</text>
 </g>
 <!-- ab_view_menu -->
-<g id="node37" class="node">
+<g id="node38" class="node">
 <title>ab_view_menu</title>
 <polygon fill="none" stroke="black" points="84,-3020.5 84,-3048.5 336,-3048.5 336,-3020.5 84,-3020.5"/>
 <text text-anchor="start" x="145" y="-3031.7" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="16.00">ab_view_menu</text>
@@ -2101,7 +2146,7 @@
 <text text-anchor="start" x="344.21" y="-2982.63" font-family="Times,serif" font-size="14.00">{0,1}</text>
 </g>
 <!-- ab_role -->
-<g id="node38" class="node">
+<g id="node39" class="node">
 <title>ab_role</title>
 <polygon fill="none" stroke="black" points="533,-2851.5 533,-2879.5 776,-2879.5 776,-2851.5 533,-2851.5"/>
 <text text-anchor="start" x="621.5" y="-2862.7" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="16.00">ab_role</text>
@@ -2131,7 +2176,7 @@
 <text text-anchor="start" x="783.74" y="-2848.25" font-family="Times,serif" font-size="14.00">{0,1}</text>
 </g>
 <!-- trigger -->
-<g id="node39" class="node">
+<g id="node40" class="node">
 <title>trigger</title>
 <polygon fill="none" stroke="black" points="510,-1419.5 510,-1447.5 798,-1447.5 798,-1419.5 510,-1419.5"/>
 <text text-anchor="start" x="622.5" y="-1430.7" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="16.00">trigger</text>
@@ -2167,39 +2212,39 @@
 <text text-anchor="start" x="856.73" y="-1409.92" font-family="Times,serif" font-size="14.00">0..N</text>
 <text text-anchor="start" x="806.2" y="-1392.54" font-family="Times,serif" font-size="14.00">{0,1}</text>
 </g>
-<!-- session -->
-<g id="node45" class="node">
-<title>session</title>
-<polygon fill="none" stroke="black" points="106,-5786.5 106,-5814.5 314,-5814.5 314,-5786.5 106,-5786.5"/>
-<text text-anchor="start" x="176" y="-5797.7" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="16.00">session</text>
-<polygon fill="none" stroke="black" points="106,-5761.5 106,-5786.5 314,-5786.5 314,-5761.5 106,-5761.5"/>
-<text text-anchor="start" x="111" y="-5771.3" font-family="Helvetica,sans-Serif" text-decoration="underline" font-size="14.00">id</text>
-<text text-anchor="start" x="124" y="-5771.3" font-family="Helvetica,sans-Serif" font-size="14.00"> </text>
-<text text-anchor="start" x="129" y="-5771.3" font-family="Helvetica,sans-Serif" font-size="14.00"> [INTEGER]</text>
-<text text-anchor="start" x="206" y="-5771.3" font-family="Helvetica,sans-Serif" font-size="14.00"> NOT NULL</text>
-<polygon fill="none" stroke="black" points="106,-5736.5 106,-5761.5 314,-5761.5 314,-5736.5 106,-5736.5"/>
-<text text-anchor="start" x="111" y="-5746.3" font-family="Helvetica,sans-Serif" font-size="14.00">data</text>
-<text text-anchor="start" x="142" y="-5746.3" font-family="Helvetica,sans-Serif" font-size="14.00"> </text>
-<text text-anchor="start" x="147" y="-5746.3" font-family="Helvetica,sans-Serif" font-size="14.00"> [BYTEA]</text>
-<polygon fill="none" stroke="black" points="106,-5711.5 106,-5736.5 314,-5736.5 314,-5711.5 106,-5711.5"/>
-<text text-anchor="start" x="111" y="-5721.3" font-family="Helvetica,sans-Serif" font-size="14.00">expiry</text>
-<text text-anchor="start" x="155" y="-5721.3" font-family="Helvetica,sans-Serif" font-size="14.00"> </text>
-<text text-anchor="start" x="160" y="-5721.3" font-family="Helvetica,sans-Serif" font-size="14.00"> [TIMESTAMP]</text>
-<polygon fill="none" stroke="black" points="106,-5686.5 106,-5711.5 314,-5711.5 314,-5686.5 106,-5686.5"/>
-<text text-anchor="start" x="111" y="-5696.3" font-family="Helvetica,sans-Serif" font-size="14.00">session_id</text>
-<text text-anchor="start" x="183" y="-5696.3" font-family="Helvetica,sans-Serif" font-size="14.00"> </text>
-<text text-anchor="start" x="188" y="-5696.3" font-family="Helvetica,sans-Serif" font-size="14.00"> [VARCHAR(255)]</text>
-</g>
 <!-- alembic_version -->
 <g id="node46" class="node">
 <title>alembic_version</title>
-<polygon fill="none" stroke="black" points="64,-5865.5 64,-5893.5 357,-5893.5 357,-5865.5 64,-5865.5"/>
-<text text-anchor="start" x="138" y="-5876.7" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="16.00">alembic_version</text>
-<polygon fill="none" stroke="black" points="64,-5840.5 64,-5865.5 357,-5865.5 357,-5840.5 64,-5840.5"/>
-<text text-anchor="start" x="69" y="-5850.3" font-family="Helvetica,sans-Serif" text-decoration="underline" font-size="14.00">version_num</text>
-<text text-anchor="start" x="159" y="-5850.3" font-family="Helvetica,sans-Serif" font-size="14.00"> </text>
-<text text-anchor="start" x="164" y="-5850.3" font-family="Helvetica,sans-Serif" font-size="14.00"> [VARCHAR(32)]</text>
-<text text-anchor="start" x="276" y="-5850.3" font-family="Helvetica,sans-Serif" font-size="14.00"> NOT NULL</text>
+<polygon fill="none" stroke="black" points="64,-5711.5 64,-5739.5 357,-5739.5 357,-5711.5 64,-5711.5"/>
+<text text-anchor="start" x="138" y="-5722.7" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="16.00">alembic_version</text>
+<polygon fill="none" stroke="black" points="64,-5686.5 64,-5711.5 357,-5711.5 357,-5686.5 64,-5686.5"/>
+<text text-anchor="start" x="69" y="-5696.3" font-family="Helvetica,sans-Serif" text-decoration="underline" font-size="14.00">version_num</text>
+<text text-anchor="start" x="159" y="-5696.3" font-family="Helvetica,sans-Serif" font-size="14.00"> </text>
+<text text-anchor="start" x="164" y="-5696.3" font-family="Helvetica,sans-Serif" font-size="14.00"> [VARCHAR(32)]</text>
+<text text-anchor="start" x="276" y="-5696.3" font-family="Helvetica,sans-Serif" font-size="14.00"> NOT NULL</text>
+</g>
+<!-- session -->
+<g id="node47" class="node">
+<title>session</title>
+<polygon fill="none" stroke="black" points="106,-5866.5 106,-5894.5 314,-5894.5 314,-5866.5 106,-5866.5"/>
+<text text-anchor="start" x="176" y="-5877.7" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="16.00">session</text>
+<polygon fill="none" stroke="black" points="106,-5841.5 106,-5866.5 314,-5866.5 314,-5841.5 106,-5841.5"/>
+<text text-anchor="start" x="111" y="-5851.3" font-family="Helvetica,sans-Serif" text-decoration="underline" font-size="14.00">id</text>
+<text text-anchor="start" x="124" y="-5851.3" font-family="Helvetica,sans-Serif" font-size="14.00"> </text>
+<text text-anchor="start" x="129" y="-5851.3" font-family="Helvetica,sans-Serif" font-size="14.00"> [INTEGER]</text>
+<text text-anchor="start" x="206" y="-5851.3" font-family="Helvetica,sans-Serif" font-size="14.00"> NOT NULL</text>
+<polygon fill="none" stroke="black" points="106,-5816.5 106,-5841.5 314,-5841.5 314,-5816.5 106,-5816.5"/>
+<text text-anchor="start" x="111" y="-5826.3" font-family="Helvetica,sans-Serif" font-size="14.00">data</text>
+<text text-anchor="start" x="142" y="-5826.3" font-family="Helvetica,sans-Serif" font-size="14.00"> </text>
+<text text-anchor="start" x="147" y="-5826.3" font-family="Helvetica,sans-Serif" font-size="14.00"> [BYTEA]</text>
+<polygon fill="none" stroke="black" points="106,-5791.5 106,-5816.5 314,-5816.5 314,-5791.5 106,-5791.5"/>
+<text text-anchor="start" x="111" y="-5801.3" font-family="Helvetica,sans-Serif" font-size="14.00">expiry</text>
+<text text-anchor="start" x="155" y="-5801.3" font-family="Helvetica,sans-Serif" font-size="14.00"> </text>
+<text text-anchor="start" x="160" y="-5801.3" font-family="Helvetica,sans-Serif" font-size="14.00"> [TIMESTAMP]</text>
+<polygon fill="none" stroke="black" points="106,-5766.5 106,-5791.5 314,-5791.5 314,-5766.5 106,-5766.5"/>
+<text text-anchor="start" x="111" y="-5776.3" font-family="Helvetica,sans-Serif" font-size="14.00">session_id</text>
+<text text-anchor="start" x="183" y="-5776.3" font-family="Helvetica,sans-Serif" font-size="14.00"> </text>
+<text text-anchor="start" x="188" y="-5776.3" font-family="Helvetica,sans-Serif" font-size="14.00"> [VARCHAR(255)]</text>
 </g>
 </g>
 </svg>
diff --git a/docs/apache-airflow/migrations-ref.rst b/docs/apache-airflow/migrations-ref.rst
index 95fe3dc591403..0280c94d4a567 100644
--- a/docs/apache-airflow/migrations-ref.rst
+++ b/docs/apache-airflow/migrations-ref.rst
@@ -39,7 +39,9 @@ Here's the list of all the Database Migrations that are executed via when you ru
 +---------------------------------+-------------------+-------------------+--------------------------------------------------------------+
 | Revision ID                     | Revises ID        | Airflow Version   | Description                                                  |
 +=================================+===================+===================+==============================================================+
-| ``ec3471c1e067`` (head)         | ``05e19f3176be``  | ``2.10.0``        | Add dataset_alias_dataset_event.                             |
+| ``8eef27533e75`` (head)         | ``ec3471c1e067``  | ``2.10.0``        | Add task instance event log.                                 |
++---------------------------------+-------------------+-------------------+--------------------------------------------------------------+
+| ``ec3471c1e067``                | ``05e19f3176be``  | ``2.10.0``        | Add dataset_alias_dataset_event.                             |
 +---------------------------------+-------------------+-------------------+--------------------------------------------------------------+
 | ``05e19f3176be``                | ``d482b7261ff9``  | ``2.10.0``        | Add dataset_alias.                                           |
 +---------------------------------+-------------------+-------------------+--------------------------------------------------------------+
