API - check app config before dropping database
This commit is contained in:
parent
d1aa220e1d
commit
eea3ab5ae7
@ -1,5 +1,6 @@
|
||||
import logging
|
||||
import os
|
||||
import shutil
|
||||
from importlib import import_module, reload
|
||||
from typing import Any
|
||||
|
||||
@ -128,4 +129,17 @@ def create_app() -> Flask:
|
||||
else:
|
||||
return render_template('index.html')
|
||||
|
||||
@app.cli.command('drop-db')
|
||||
def drop_db() -> None:
|
||||
"""Empty database and delete uploaded files for dev environments."""
|
||||
if app_settings == 'fittrackee.config.ProductionConfig':
|
||||
print('This is a production server, aborting!')
|
||||
return
|
||||
db.engine.execute("DROP TABLE IF EXISTS alembic_version;")
|
||||
db.drop_all()
|
||||
db.session.commit()
|
||||
print('Database dropped.')
|
||||
shutil.rmtree(app.config['UPLOAD_FOLDER'], ignore_errors=True)
|
||||
print('Uploaded files deleted.')
|
||||
|
||||
return app
|
||||
|
@ -1,7 +1,6 @@
|
||||
# source for StandaloneApplication class:
|
||||
# http://docs.gunicorn.org/en/stable/custom.html
|
||||
import os
|
||||
import shutil
|
||||
from typing import Dict, Optional
|
||||
|
||||
import click
|
||||
@ -9,7 +8,7 @@ import gunicorn.app.base
|
||||
from flask import Flask
|
||||
from flask_migrate import upgrade
|
||||
|
||||
from fittrackee import create_app, db
|
||||
from fittrackee import create_app
|
||||
from fittrackee.users.exceptions import UserNotFoundException
|
||||
from fittrackee.users.utils import set_admin_rights
|
||||
|
||||
@ -46,17 +45,6 @@ def upgrade_db() -> None:
|
||||
upgrade(directory=BASEDIR + '/migrations')
|
||||
|
||||
|
||||
@app.cli.command('drop-db')
|
||||
def drop_db() -> None:
|
||||
"""Empty database and delete uploaded files for dev environments."""
|
||||
db.engine.execute("DROP TABLE IF EXISTS alembic_version;")
|
||||
db.drop_all()
|
||||
db.session.commit()
|
||||
print('Database dropped.')
|
||||
shutil.rmtree(app.config['UPLOAD_FOLDER'], ignore_errors=True)
|
||||
print('Uploaded files deleted.')
|
||||
|
||||
|
||||
@app.cli.command('set-admin')
|
||||
@click.argument('username')
|
||||
def set_admin(username: str) -> None:
|
||||
|
Loading…
Reference in New Issue
Block a user