#!/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()