airflow icon indicating copy to clipboard operation
airflow copied to clipboard

Simpler error message when trying to offline migrate with sqlite

Open jedcunningham opened this issue 1 year ago • 0 comments

Before:

$ airflow db migrate --show-sql-only --from-version 2.8.0 --to-version 2.9.0
DB: sqlite:////root/airflow/sqlite/airflow.db
Generating sql for upgrade -- upgrade commands will *not* be submitted.
Traceback (most recent call last):
  File "/usr/local/bin/airflow", line 8, in <module>
    sys.exit(main())
             ^^^^^^
  File "/opt/airflow/airflow/__main__.py", line 58, in main
    args.func(args)
  File "/opt/airflow/airflow/cli/cli_config.py", line 49, in command
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/opt/airflow/airflow/utils/cli.py", line 115, in wrapper
    return f(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^
  File "/opt/airflow/airflow/utils/providers_configuration_loader.py", line 55, in wrapped_function
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/opt/airflow/airflow/cli/commands/db_command.py", line 140, in migratedb
    db.upgradedb(
  File "/opt/airflow/airflow/utils/session.py", line 84, in wrapper
    return func(*args, session=session, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/airflow/airflow/utils/db.py", line 1603, in upgradedb
    _revisions_above_min_for_offline(config=config, revisions=[from_revision, to_revision])
  File "/opt/airflow/airflow/utils/db.py", line 1538, in _revisions_above_min_for_offline
    raise AirflowException("Offline migration not supported for SQLite.")
airflow.exceptions.AirflowException: Offline migration not supported for SQLite.

After:

$ airflow db migrate --show-sql-only --from-version 2.8.0 --to-version 2.9.0
DB: sqlite:////root/airflow/sqlite/airflow.db
Generating sql for upgrade -- upgrade commands will *not* be submitted.
Offline migration not supported for SQLite.

jedcunningham avatar May 06 '24 18:05 jedcunningham