2
respostas

[Dúvida] Não consigo executar o Projeto -RuntimeError

Traceback (most recent call last): File "C:\Users\ramon\ProgramaTeste\Jogoteca\jogoteca.py", line 19, in db = SQLAlchemy(app) ^^^^^^^^^^^^^^^ File "C:\Users\ramon\ProgramaTeste\Jogoteca.venv\Lib\site-packages\flask_sqlalchemy\extension.py", line 219, in init self.init_app(app) File "C:\Users\ramon\ProgramaTeste\Jogoteca.venv\Lib\site-packages\flask_sqlalchemy\extension.py", line 307, in init_app raise RuntimeError( RuntimeError: Either 'SQLALCHEMY_DATABASE_URI' or 'SQLALCHEMY_BINDS' must be set.**

Ao executar mostra o seguinte erro.
2 respostas

Oi! Parece que você está tendo um problema com a configuração da sua aplicação Flask que utiliza o Flask-SQLAlchemy. O erro que você está recebendo indica que falta definir a URI do banco de dados na configuração da sua aplicação.

Vamos resolver isso passo a passo. Você precisa configurar a variável SQLALCHEMY_DATABASE_URI no seu objeto de aplicação Flask. Essa variável deve conter as informações necessárias para conectar ao seu banco de dados MySQL.

Aqui está um exemplo de como você pode configurar isso:

  1. Primeiro, certifique-se de importar o SQLAlchemy corretamente e de criar a instância do Flask:

    from flask import Flask
    from flask_sqlalchemy import SQLAlchemy
    
    app = Flask(__name__)
    
  2. Depois, você precisa definir a SQLALCHEMY_DATABASE_URI na configuração do seu app. A string de conexão normalmente tem o seguinte formato para MySQL:

    app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://username:password@localhost/dbname'
    

    Substitua username, password, localhost e dbname pelos seus dados reais de conexão.

  3. Agora você pode criar a instância do SQLAlchemy passando o seu app:

    db = SQLAlchemy(app)
    
  4. Certifique-se de que tudo está configurado corretamente e tente rodar sua aplicação novamente.

Lembre-se de substituir os valores de exemplo pelos dados reais que você usa para se conectar ao seu banco de dados MySQL. Se você ainda encontrar problemas, pode ser uma boa ideia verificar as permissões do usuário no banco de dados, a disponibilidade do serviço de MySQL e se todos os dados estão corretos e acessíveis.

Espero que isso ajude! Se precisar de mais alguma coisa, é só chamar. Boa sorte com seu projeto!

Fiz essas alterações no meu código mas ainda continua aparecendo o mesmo erro:

Traceback (most recent call last): File "c:\Users\gu-gu\OneDrive\pycharm\Alura\jogoteca\jogoteca.py", line 17, in db = SQLAlchemy(app) ^^^^^^^^^^^^^^^ File "C:\Users\gu-gu\AppData\Local\Programs\Python\Python311\Lib\site-packages\flask_sqlalchemy_init_.py", line 758, in init include_sqlalchemy(self, query_class) File "C:\Users\gu-gu\AppData\Local\Programs\Python\Python311\Lib\site-packages\flask_sqlalchemy_init.py", line 112, in include_sqlalchemy for key in module.all: ^^^^^^^^^^^^^^ File "C:\Users\gu-gu\AppData\Local\Programs\Python\Python311\Lib\site-packages\sqlalchemy_init.py", line 294, in getattr raise AttributeError(f"module {name!r} has no attribute {name!r}") AttributeError: module 'sqlalchemy' has no attribute 'all'. Did you mean: 'file'?