Почему моя команда по фляге не работает на Heroku? - PullRequest
0 голосов
/ 31 марта 2019

У меня есть простой CLI в Flask, который я использую для создания фиктивных данных.Он отлично работает на моей локальной машине, но не на Heroku.Вот сеанс терминала:

(venv) $ flask create-dummy-data
(venv) $ git push staging master
Everything up-to-date
(venv) $ heroku run bash --remote staging
Running bash on ⬢ app-name... up, run.8533 (Free)
~ $ flask create-dummy-data
Usage: flask [OPTIONS] COMMAND [ARGS]...
Try "flask --help" for help.

Error: No such command "create-dummy-data".

Вот мой app/cli.py файл:

import lorem

from app import db
from app.models import Survey, Question, Option, Answer, Response

def register(app):
    @app.cli.command()
    def create_dummy_data():
        """Create lorem ipsum questions and answers for testing."""
        survey = Survey()
        db.session.add(survey)

        for _ in range(3):
            question = Question(survey=survey, category='likert', question=lorem.sentence())
            db.session.add(question)

        for _ in range (2):
            question = Question(survey=survey, category='word', question=lorem.sentence())
            db.session.add(question)

        db.session.commit()

И мой run.py файл:

from app import create_app, db, cli
from app.models import Survey, Question, Option, Answer, Response

app = create_app()
cli.register(app)

@app.shell_context_processor
def make_shell_context():
    return {'db': db,
            'Survey': Survey,
            'Question': Question,
            'Option': Option,
            'Answer': Answer,
            'Response': Response
            }

Почему это работаетлокально, но не на оболочке Heroku?

1 Ответ

1 голос
/ 03 апреля 2019

Это было самое простое: у Heroku не было установлено $FLASK_APP в переменных промежуточной среды.Добавление позволило запустить инструмент командной строки.

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...