У меня есть настройка 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 автоматически создавать мои таблицы для меня?Я лаю не на том дереве?