net/flask/manage.py

56 lines
1.2 KiB
Python

#!/usr/bin/env python
import os
import subprocess, shlex
from forest import app, db, User
from flask.cli import FlaskGroup
from flask_migrate import Migrate
from flask_migrate import MigrateCommand
cli = FlaskGroup(app)
migrate = Migrate(app, db)
cli.add_command('db', MigrateCommand)
@cli.command("create_db")
def create_db():
db.drop_all()
db.create_all()
db.session.commit()
@cli.command("seed_db")
def seed_db():
db.session.add(User(email="daniel@deflax.net"))
db.session.commit()
@cli.command("upgrade_db")
def upgrade_db():
"""Run deployment tasks."""
from flask_migrate import upgrade
from app.models import Role, User
# migrate database to latest revision
upgrade()
# create user roles
Role.insert_roles()
@cli.command("restore_db")
def restore_db(restore_file):
""" recreate db from grid export with python3 manage.py restore /path/grid.tar.bz2 """
print(str(restore_file))
#TODO
from app.models import User
db.session.add(User(email=str(user), password=str(password), confirmed=True, confirmed_on=datetime.datetime.now()))
db.session.commit()
if __name__ == "__main__":
cli()