I have a file db_table.py
that looks like:
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from flask_migrate import Migrate
ap
Some problem will can happen if you use DispatcherMiddleware (werkzeug.wsgi). Change return object from app_dispatch to app without app_dispatch for migrate time.
This is a rare case, I hope someone helps...
You can refer to this documentation to learn how to set environment variables in Flask.
Unix Bash (Linux, Mac, etc.):
$ export FLASK_APP=hello
$ flask run
Windows CMD:
> set FLASK_APP=hello
> flask run
Windows PowerShell:
> $env:FLASK_APP = "hello"
> flask run
The flask
command line argument needs to know what module to locate the current Flask
app instance in.
Set FLASK_APP
as an environment variable:
export FLASK_APP=db_table.py
before running your flask
command-line app.
See the Command Line Interface documentation:
For the flask script to work, an application needs to be discovered. This is achieved by exporting the
FLASK_APP
environment variable. It can be either set to an import path or to a filename of a Python module that contains a Flask application.
You can also set the variable per command by setting it on the same command line:
FLASK_APP=db_table.py flask db init