jason810496 commented on code in PR #51392:
URL: https://github.com/apache/airflow/pull/51392#discussion_r2176602868


##########
airflow-core/src/airflow/utils/db.py:
##########
@@ -1066,7 +1066,7 @@ def downgrade(*, to_revision, from_revision=None, 
show_sql_only=False, session:
             except ImportError:
                 log.warning("Import error occurred while importing 
FABDBManager. Skipping the check.")
                 return
-        if not inspect(settings.engine).has_table("ab_user") and not 
unitest_mode:
+        if not inspect(session.get_bind()).has_table("ab_user") and not 
unitest_mode:
             raise AirflowException(

Review Comment:
   It raise the following traceback even we are really using `FabDBManager` in 
the CI.
   So I suspect the utility checking "ab_user" table existed is broke.
   
   ```
   [2025-07-01T04:42:57.817+0000] {db.py:586} INFO - Airflow database tables 
created
   Database migrating done!
   Performing downgrade with database sqlite:////root/airflow/sqlite/airflow.db
   [2025-07-01T04:43:02.453+0000] {db.py:1055} INFO - Attempting downgrade to 
revision 405de8318b3a
   Traceback (most recent call last):
     File "/usr/local/bin/airflow", line 10, in <module>
       sys.exit(main())
     File "/opt/airflow/airflow-core/src/airflow/__main__.py", line 55, in main
       args.func(args)
     File "/opt/airflow/airflow-core/src/airflow/cli/cli_config.py", line 48, 
in command
       return func(*args, **kwargs)
     File "/opt/airflow/airflow-core/src/airflow/utils/cli.py", line 113, in 
wrapper
       return f(*args, **kwargs)
     File 
"/opt/airflow/airflow-core/src/airflow/utils/providers_configuration_loader.py",
 line 56, in wrapped_function
       return func(*args, **kwargs)
     File "/opt/airflow/airflow-core/src/airflow/cli/commands/db_command.py", 
line 204, in downgrade
       run_db_downgrade_command(args, db.downgrade, _REVISION_HEADS_MAP)
     File "/opt/airflow/airflow-core/src/airflow/cli/commands/db_command.py", 
line 179, in run_db_downgrade_command
       command(to_revision=to_revision, from_revision=from_revision, 
show_sql_only=args.show_sql_only)
     File "/opt/airflow/airflow-core/src/airflow/utils/session.py", line 101, 
in wrapper
       return func(*args, session=session, **kwargs)
     File "/opt/airflow/airflow-core/src/airflow/utils/db.py", line 1070, in 
downgrade
       raise AirflowException(
   airflow.exceptions.AirflowException: Downgrade to revision less than 3.0.0 
requires that `ab_user` table is present. Please add FabDBManager to [core] 
external_db_managers and run fab migrations before proceeding
   ```



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to