PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

db.create_all() Obiekt „NoneType” nie ma atrybutu „drivername”

Myślę, że jest to problem z tym, jak próbujesz połączyć się z Postgres baza danych:

app.config["SQLALCHEMY_DATABASE_URI"] = os.getenv("postgresql://postgres:example@sqldat.com/database1")

prawdopodobnie chcesz, aby ta linia była następująca:

app.config["SQLALCHEMY_DATABASE_URI"] = "postgresql://postgres:example@sqldat.com/database1"

od os.getenv(...) obecnie próbuje pobrać zmienną środowiskową w Twoim systemie o nazwie:"postgresql://postgres:example@sqldat.com/database1" i na pewno nie ustawiłeś zmiennej środowiskowej o tej nazwie. Dlatego otrzymujesz NoneType błąd dla twojego postgres kierowca:

Jeśli chcesz użyć zmiennej środowiskowej, aby uzyskać parametry połączenia z bazą danych, wykonaj coś takiego w swoim .bash_profile lub .bashrc plik:

export SQLALCHEMY_DATABASE_URI='postgresql://postgres:example@sqldat.com/database1'

następnie zmień kod połączenia z bazą danych na następujący:

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

Mam nadzieję, że to ma sens!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Możliwe wyjaśnienie dotyczące Z REKURSIVE Query Postgres

  2. W jaki sposób PostgreSQL wymusza ograniczenie UNIQUE / jakiego rodzaju indeksu używa?

  3. Zwróć wiersze SETOF z funkcji PostgreSQL

  4. Przesyłaj wiersze z PostgreSQL (z rozmiarem pobierania)

  5. Jak uruchomić serwer PostgreSQL w systemie Mac OS X przez Homebrew?