**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
TaskInstance,
    TaskReschedule,
    Variable,
    XCom,
)
from airflow.models.serialized_dag import SerializedDagModel  
from airflow.utils.session import (  
    create_session,
    provide_session,
)
log = logging.getLogger(__name__)
@provide_session
def merge_conn(conn, session=None):
    """Add new Connection."""
    if not session.query(Connection).filter(Connection.conn_id == conn.conn_id).first():
        session.add(conn)
        session.commit()
@provide_session
def add_default_pool_if_not_exists(session=None):
    """Add default pool if it does not exist."""
    if not Pool.get_pool(Pool.DEFAULT_POOL_NAME, session=session):
        default_pool = Pool(
            pool=Pool.DEFAULT_POOL_NAME,
            slots=conf.getint(section='core', key='non_pooled_task_slot_count', fallback=128),
            description="Default pool",
        )
        session.add(default_pool)
        session.commit()
@provide_session
def create_default_connections(session=None):