PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

db.create_all() 'NoneType' objeto não tem atributo 'drivername'


Acho que este é um problema com a forma como você está tentando se conectar ao seu Postgres base de dados:
app.config["SQLALCHEMY_DATABASE_URI"] = os.getenv("postgresql://postgres:[email protected]/database1")

você provavelmente quer que esta linha seja a seguinte:
app.config["SQLALCHEMY_DATABASE_URI"] = "postgresql://postgres:[email protected]/database1"

desde o os.getenv(...) está tentando obter uma variável de ambiente em seu sistema chamada:"postgresql://postgres:[email protected]/database1" e você certamente não configurou uma variável de ambiente com este nome. É por isso que você está recebendo um NoneType erro para seu postgres condutor:

Se você quiser usar uma variável de ambiente para obter sua string de conexão de banco de dados, faça algo como o seguinte em seu .bash_profile ou .bashrc Arquivo:
export SQLALCHEMY_DATABASE_URI='postgresql://postgres:[email protected]/database1'

em seguida, altere o código de conexão do banco de dados para o seguinte:
app.config["SQLALCHEMY_DATABASE_URI"] = os.environ.get('SQLALCHEMY_DATABASE_URI')

Espero que isso faça sentido!