Получение flask-sqlalchemy для создания таблиц из моделей с помощью db.create_all - PullRequest
0 голосов
/ 09 октября 2018

У меня есть настройка Docker с приложением Flask и бэкэндом Postgresql.Я хочу иметь возможность создавать все свои таблицы в Postgres из их моделей, определенных в Flask-SqlAlchemy.В настоящее время это не работает для меня.

В моем приложении __init__.py я создаю свое приложение с помощью файлов конфигурации.

from flask import Flask


def create_app():
    app = Flask(__name__)
    app.config.from_pyfile("config.py")
    app.config.from_pyfile("secrets.py")
    return app


app = create_app()


from app import routes

В моем rout.py я создаю базу данных из приложения,и затем установите его перед первым запросом (с импортированными моими моделями):

from .models import User, Community, Post, Debate

...

db = SQLAlchemy(app)


@app.before_first_request
def setup():
    db.init_app(app)
    with app.app_context():
        db.metadata.drop_all(bind=db.engine)
        db.metadata.create_all(bind=db.engine)
        db.session.commit()

Мои модели наследуются от созданной мною BaseModel, которая наследуется от db.Model, где db - это импорт базы данных, которую я определилв rout.py.

Что я здесь не так делаю?Как я могу сделать колбу-sqlalchemy автоматически создавать мои таблицы для меня?Я лаю не на том дереве?

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