Flask und SQLAlchemy, Anwendung für Instanz nicht registriert
Ich versuche gerade, eine kleine Fläschchenanwendung zusammenzusetzen. Das ist meine Struktur.
run.py
application
__init__.py
database.py
models.py
views.py
database.py
enthält nur das SQLAlchemy-Objekt:
db = SQLAlchemy()
Ich importiere das dann in meinmodels.py
, um meine Modelle zu erstellen. Schließlich in__init__.py
Ich importieredb
vondatabase.py
und TU
from .database import db
from flask import Flask
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///application.db'
db.init_app(app)
db.create_all()
Ich kann die Tabellen jedoch nicht aus den angezeigten Modellen erstellen. Wenn ich @ entferdb.create_all()
. Die Anwendung wird ohne Probleme ausgeführt, aber die Datenbank wird offensichtlich nicht erstellt. Wanndb.create_all()
ist vorhanden Ich bekomme 'RuntimeError: Anwendung ist nicht in der Datenbankinstanz registriert und keine Anwendung ist an den aktuellen Kontext gebunden'.
Ich bin ehrlich verwirrt, wie zuvor hatte ich Probleme beim Starten der Anwendung, ohne die Datenbank zu erstellen, aber beim Verschieben vondb
zu seiner eigenen Datei scheint das Problem irgendwie behoben zu haben. Jetzt bleibt nur noch die Erstellung der Datenbank.
Kann mir jemand sagen, was das Problem sein könnte? Ich bin echt ratlos.