PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

db.create_all() 'NoneType'-Objekt hat kein Attribut 'drivername'

Ich denke, das ist ein Problem damit, wie Sie versuchen, eine Verbindung zu Ihrem Postgres herzustellen Datenbank:

app.config["SQLALCHEMY_DATABASE_URI"] = os.getenv("postgresql://postgres:[email protected]/database1")

Wahrscheinlich möchten Sie, dass diese Zeile stattdessen wie folgt lautet:

app.config["SQLALCHEMY_DATABASE_URI"] = "postgresql://postgres:[email protected]/database1"

seit dem os.getenv(...) versucht derzeit, eine Umgebungsvariable mit dem Namen:"postgresql://postgres:[email protected]/database1" und Sie haben sicherlich keine Umgebungsvariable mit diesem Namen eingerichtet. Deshalb erhalten Sie einen NoneType Fehler für Ihr postgres Fahrer:

Wenn Sie eine Umgebungsvariable verwenden möchten, um Ihre Datenbank-Verbindungszeichenfolge zu erhalten, tun Sie so etwas wie das Folgende in Ihrem .bash_profile oder .bashrc Datei:

export SQLALCHEMY_DATABASE_URI='postgresql://postgres:[email protected]/database1'

ändern Sie dann Ihren Datenbank-Verbindungscode wie folgt:

app.config["SQLALCHEMY_DATABASE_URI"] = os.environ.get('SQLALCHEMY_DATABASE_URI')

Hoffentlich macht das Sinn!