Not able to setup flask migrate

19 views Asked by At

I cannot get Flask Migrate to work. I have flaskr folder where I store __init__.py and then I have main.py on the same branch as flaskr.

Once I run flask db migrate -m I get following error: Error: No such command 'db'.

**main.py**

from flaskr import create_app

app = create_app()

if __name__ == "__main__":
    app.run(debug=True)


**__init__.py**

from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from os import path
from flask_login import LoginManager
from flask_migrate import Migrate
from zzz_secrets import DB_NAME, FLASK_PSW, MYSQL_PSW

db = SQLAlchemy()


def create_app():
    app = Flask(__name__)
    app.config["SECRET_KEY"] = FLASK_PSW

    app.config[
        "SQLALCHEMY_DATABASE_URI"
    ] = f"mysql+pymysql://root:{MYSQL_PSW}@localhost/{DB_NAME}"

    db.init_app(app)

    from .views import views
    from .auth import auth

    app.register_blueprint(views, url_prefix="/")
    app.register_blueprint(auth, url_prefix="/")

    from .models import User, Note, Investment, Trade, Transaction_Type

    with app.app_context():
        db.create_all()

    login_manager = LoginManager()
    login_manager.login_view = "auth.login"
    login_manager.init_app(app)

    @login_manager.user_loader
    def load_user(id):
        return User.query.get(int(id))

    migrate = Migrate(app, db)

    return app


def create_database(app):
    if not path.exists("website/" + DB_NAME):
        db.create_all(app=app)
        print("Created Database!")
0

There are 0 answers