sql >> Databáze >  >> RDS >> PostgreSQL

db.create_all() Objekt 'NoneType' nemá atribut 'drivername'

Myslím, že je to problém s tím, jak se pokoušíte připojit ke svému Postgres databáze:

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

pravděpodobně chcete, aby tento řádek byl místo toho následující:

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

protože os.getenv(...) se aktuálně pokouší ve vašem systému získat proměnnou prostředí s názvem:"postgresql://postgres:[email protected]/database1" a určitě jste nenastavili proměnnou prostředí s tímto názvem. Což je důvod, proč získáváte NoneType chyba pro váš postgres řidič:

Chcete-li k získání připojovacího řetězce databáze použít proměnnou prostředí, proveďte ve svém .bash_profile něco jako následující nebo .bashrc soubor:

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

potom změňte kód připojení k databázi na následující:

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

Snad to dává smysl!



  1. Jak přidat kladné celočíselné omezení do celočíselného sloupce v MySQL?

  2. Jak funguje přepínač alter tabulky na serveru SQL?

  3. Při nečinnosti v oracle vypršel časový limit připojení k databázi jboss

  4. Je lepší použít prázdnou hodnotu jako '' nebo jako NULL?