PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

db.create_all () Đối tượng 'NoneType' không có thuộc tính 'drivername'

Tôi nghĩ rằng đây là vấn đề với cách bạn đang cố gắng kết nối với Postgres của mình cơ sở dữ liệu:

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

bạn có thể muốn dòng này như sau:

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

kể từ os.getenv(...) hiện đang cố gắng lấy một biến môi trường trên hệ thống của bạn có tên:"postgresql://postgres:[email protected]/database1" và chắc chắn bạn đã không thiết lập một biến môi trường có tên này .. Đó là lý do tại sao bạn nhận được NoneType lỗi cho postgres của bạn người lái xe:

Nếu bạn muốn sử dụng một biến môi trường để lấy chuỗi kết nối cơ sở dữ liệu của mình, hãy làm như sau trong .bash_profile của bạn hoặc .bashrc tệp:

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

sau đó thay đổi mã kết nối cơ sở dữ liệu của bạn thành mã sau:

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

Hy vọng rằng điều đó có ý nghĩa!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tên ứng dụng trong url JDBC sử dụng c3p0

  2. PostgreSQL:sử dụng một cột được tính toán trong cùng một truy vấn

  3. PostgreSQL - INNER THAM GIA hai bảng với GIỚI HẠN

  4. Nhập tệp CSV đã nén vào PostgreSQL

  5. Cách tắt câu lệnh đã chuẩn bị trong heroku với cơ sở dữ liệu postgres