This is an automated email from the ASF dual-hosted git repository. utkarsharma pushed a commit to branch sync_2-10-test-rc2 in repository https://gitbox.apache.org/repos/asf/airflow.git
commit db731d5cd5337f6004c7d0b686277d7a09a622ec Author: Wei Lee <[email protected]> AuthorDate: Mon Oct 28 17:02:28 2024 +0800 This PR resolves an SQLAlchemy warning in the migration by correctly setting the `alias_id` column as part of the primary key in the `dag_schedule_dataset_alias_reference` table. Previously, only dag_id was marked as the primary key, causing a mismatch with the local definition, which triggered an SAWarning. (#43425) Example: https://github.com/apache/airflow/actions/runs/11526187767/job/32090094094?pr=43243#step:6:745 When running a migration you see this. It was missed in https://github.com/apache/airflow/pull/41264: ``` /opt/airflow/airflow/migrations/versions/0026_2_10_0_dag_schedule_dataset_alias_reference.py:46 SAWarning: Table 'dag_schedule_dataset_alias_reference' specifies columns 'dag_id' as primary_key=True, not matching locally specified columns 'alias_id', 'dag_id'; setting the current primary key columns to 'alias_id', 'dag_id'. This warning may become an exception in a future release ``` It is already a primary key in models: https://github.com/apache/airflow/blob/e9192f5db32e453f150c73ad31287d4953e3c43d/airflow/models/asset.py#L290-L291 Kaxil verified that both columns are marked as primary keys already in 2.10. (cherry picked from commit 72947cb09854f00d347b7c9cd09eb9ac89c75480) --- .../versions/0151_2_10_0_dag_schedule_dataset_alias_reference.py | 2 +- docs/apache-airflow/img/airflow_erd.sha256 | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/airflow/migrations/versions/0151_2_10_0_dag_schedule_dataset_alias_reference.py b/airflow/migrations/versions/0151_2_10_0_dag_schedule_dataset_alias_reference.py index a577a3eb78..a1a36b3970 100644 --- a/airflow/migrations/versions/0151_2_10_0_dag_schedule_dataset_alias_reference.py +++ b/airflow/migrations/versions/0151_2_10_0_dag_schedule_dataset_alias_reference.py @@ -45,7 +45,7 @@ def upgrade(): """Add dag_schedule_dataset_alias_reference table.""" op.create_table( "dag_schedule_dataset_alias_reference", - sa.Column("alias_id", sa.Integer(), nullable=False), + sa.Column("alias_id", sa.Integer(), primary_key=True, nullable=False), sa.Column("dag_id", StringID(), primary_key=True, nullable=False), sa.Column("created_at", airflow.utils.sqlalchemy.UtcDateTime(timezone=True), nullable=False), sa.Column("updated_at", airflow.utils.sqlalchemy.UtcDateTime(timezone=True), nullable=False), diff --git a/docs/apache-airflow/img/airflow_erd.sha256 b/docs/apache-airflow/img/airflow_erd.sha256 index 96c9ea1c16..9ecc324f73 100644 --- a/docs/apache-airflow/img/airflow_erd.sha256 +++ b/docs/apache-airflow/img/airflow_erd.sha256 @@ -1 +1 @@ -3009a8ae271c281d59ada514c7181f1be4f0e2c6ba37148d4d5bf57502edf1d1 \ No newline at end of file +f240c081c0e69e9c213b887cab50dc1b61e4a71010fcc2f177ab9e22adef229f \ No newline at end of file
