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:[email protected]/database1")

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

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

od os.getenv(...) obecnie próbuje pobrać zmienną środowiskową w Twoim systemie o nazwie:"postgresql://postgres:[email protected]/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:[email protected]/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?