diff options
Diffstat (limited to 'dashboard/backend/install_db.py')
-rwxr-xr-x | dashboard/backend/install_db.py | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/dashboard/backend/install_db.py b/dashboard/backend/install_db.py new file mode 100755 index 00000000..d37a4099 --- /dev/null +++ b/dashboard/backend/install_db.py @@ -0,0 +1,55 @@ +############################################################################## +# Copyright (c) 2016 Huawei Technologies Co.,Ltd and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +# create db in new env +from dovetail.utils import flags +from dovetail.utils import logsetting +from dovetail.utils import setting_wrapper as setting + +from flask_script import Manager + +from dovetail.db import database +from dovetail.api.api import app + +import os + +app_manager = Manager(app, usage="Perform database operations") + +# flags.init() +curr_path = os.path.dirname(os.path.abspath(__file__)) +logdir = os.path.join(curr_path, 'log') +if not os.path.exists(logdir): + os.makedirs(logdir) + +flags.OPTIONS.logdir = logdir +flags.OPTIONS.logfile = setting.WEB_LOGFILE +logsetting.init() + + +@app_manager.command +def createdb(): + """Creates database from sqlalchemy models.""" + database.init() + try: + database.drop_db() + except Exception: + pass + + database.create_db() + + +@app_manager.command +def dropdb(): + """Drops database from sqlalchemy models.""" + database.init() + database.drop_db() + + +if __name__ == "__main__": + app_manager.run() |