sql >> Database teknologi >  >> RDS >> PostgreSQL

db.create_all() 'NoneType'-objekt har ingen attribut 'drivername'

Jeg tror, ​​at dette er et problem med, hvordan du forsøger at oprette forbindelse til din Postgres database:

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

du vil sandsynligvis have denne linje til at være følgende i stedet:

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

siden os.getenv(...) forsøger i øjeblikket at få en miljøvariabel på dit system ved navn:"postgresql://postgres:[email protected]/database1" og du har bestemt ikke opsat en miljøvariabel med dette navn.. Derfor får du en NoneType fejl for din postgres driver:

Hvis du vil bruge en miljøvariabel til at få din databaseforbindelsesstreng, skal du gøre noget som det følgende i din .bash_profile eller .bashrc fil:

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

skift derefter din databaseforbindelseskode til følgende:

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

Forhåbentlig giver det mening!



  1. Sådan indstilles binære data ved hjælp af setBlob() i C++-stikket

  2. 13 Bedste praksis for SQL Server-sikkerhed

  3. Hvad er databasebrugerrettigheder?

  4. SQL-forespørgsel for at vælge værdipar i en kolonne 1, som matcher et af to mønstre i kolonne 2