**Description**
The documentation and the error message of the [check-migrations](https://airflow.apache.org/docs/apache-airflow/stable/cli-and-env-variables-ref.html#check-migrations) / `def check_migrations` could be more verbose.  This check can fail if the underlying database was never initialised.


**Use case / motivation**

We are deploying our airflow helm chart with terraform helm provider. This provider has a [bug](https://github.com/hashicorp/terraform-provider-helm/issues/683) with helm hook. If airflow would give us a bit more verbose error message why could the `check-migrations` fail, we would find the underlying error/bug much sooner.


**Are you willing to submit a PR?**
Yes



airflow/utils/db.py
"""Initialize Airflow database."""
    upgradedb()
    if conf.getboolean('core', 'LOAD_DEFAULT_CONNECTIONS'):
        create_default_connections()
    dagbag = DagBag()
    
    dagbag.sync_to_db()
    
    DAG.deactivate_unknown_dags(dagbag.dags.keys())
    from flask_appbuilder.models.sqla import Base
    Base.metadata.create_all(settings.engine)  
def _get_alembic_config():
    from alembic.config import Config
    current_dir = os.path.dirname(os.path.abspath(__file__))
    package_dir = os.path.normpath(os.path.join(current_dir, '..'))
    directory = os.path.join(package_dir, 'migrations')
    config = Config(os.path.join(package_dir, 'alembic.ini'))
    config.set_main_option('script_location', directory.replace('%', '%%'))
    config.set_main_option('sqlalchemy.url', settings.SQL_ALCHEMY_CONN.replace('%', '%%'))
    return config
def check_migrations(timeout):