Я интегрировал Flask-Migrate в свой проект.Когда я использую режим разработки (FLASK_ENV='development'
), я обычно вызываю flask db migrate
, чтобы применить изменения к базе данных SQLite.Но в режиме тестирования (FLASK_ENV='testing'
) я использую внутреннюю память (sqlite:///:memory:
), и нет смысла вызывать db migrate
, потому что это приведет к выдаче error .Есть ли какой-нибудь способ создать хук pre_execute в CLI Flask, чтобы проверить, какой ENV используется перед выполнением команды?Так, например, если FLASK_ENV установлен на testing
, то вызов flask db init
приведет к прерыванию выполнения команды.Я пробовал что-то подобное, но это не сработало:
@click.group(cls=FlaskGroup, create_app=create_app)
def cli():
'''
Main entry point.
'''
if app.config.ENV == ENV.TESTING:
print('Running in TESTING mode...Aborting!')
sys.exit(1)
Вопрос : Как я могу прервать выполнение команды cli при определенных настройках FLASK_ENV
?
Редактировать: Я загружаю FLASK_ENV
значение из .env
файла.