sql >> Databasteknik >  >> RDS >> PostgreSQL

db.create_all() 'NoneType'-objektet har inget attribut 'drivername'

Jag tror att det här är ett problem med hur du försöker ansluta till din Postgres databas:

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

du vill förmodligen att den här raden ska vara följande istället:

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

eftersom os.getenv(...) försöker för närvarande få en miljövariabel på ditt system som heter:"postgresql://postgres:[email protected]/database1" och du har säkert inte ställt in en miljövariabel med detta namn.. Det är därför du får en NoneType fel för din postgres förare:

Om du vill använda en miljövariabel för att hämta din databasanslutningssträng, gör något i stil med följande i din .bash_profile eller .bashrc fil:

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

ändra sedan din databasanslutningskod till följande:

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

Förhoppningsvis är det vettigt!



  1. Kan du indexera delfrågor?

  2. JDBC 4:s java.sql.Clob.free()-metod och bakåtkompatibilitet

  3. Det gick inte att skapa den begärda tjänsten [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]

  4. talend etl oracle error 0 rad infoga