Flask SQLAlchemy 无法连接到数据库
Posted
技术标签:
【中文标题】Flask SQLAlchemy 无法连接到数据库【英文标题】:Flask SQLAlchemy Can't Connect to Database 【发布时间】:2021-11-02 12:46:18 【问题描述】:我有一个应用程序正在尝试连接到 SQLite 数据库。我将 db 文件与应用程序放在同一目录中,但是当我向 create_all 发出命令时,出现以下错误:
sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) 无法 打开数据库文件(此错误的背景位于: https://sqlalche.me/e/14/e3q8)
这是我正在使用的代码的 sn-p。
app.config['SECRET_KEY'] = 'dont look at me im a secret'
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:////C:/Users/me/PycharmProjects/thisproject/database.db'
app.config['CSRF_ENABLED'] = True
app.config['USER_ENABLE_EMAIL'] = False
db = SQLAlchemy(app)
class User(db.Model, UserMixin):
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(50), nullable=False, unique=True)
password = db.Column(db.String(255), nullable=False, server_default='')
active = db.Column(db.Boolean(), nullable=False, server_default='0')
user_manager = UserManager(app, db, User)
【问题讨论】:
这能回答你的问题吗? SQLAlchemy engine absolute path URL in windows 出于某种原因,我将我的应用程序命名为 main 并且它导致了与此相关的问题。所以是的,这行得通 那么,修复实际上是更改您的应用程序名称以使数据库连接正常工作?还是您还必须更改路径? 两者,我先改变了路径,得到了同样的错误。一旦我将我的应用重命名为“应用”,我就可以让它工作。 【参考方案1】:我相信truth 在这里有所作为。 看来您没有正确指定 sqlite 数据库的路径。
您的路径应如下所示:
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///C:\\Users\\me\\PycharmProjects\\thisproject\\database.db'
【讨论】:
我更新了路径,我得到了同样的错误。实际上,我在许多修订中都有这个,试图让它发挥作用,哈哈【参考方案2】:我必须将我的应用程序文件名更改为“app.py”,然后按如下方式更新数据库的路径:
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///C:\\Users\\me\\PycharmProjects\\thisproject\\database.db'
为了让它工作
【讨论】:
以上是关于Flask SQLAlchemy 无法连接到数据库的主要内容,如果未能解决你的问题,请参考以下文章
AttributeError:使用flask-sqlalchemy连接到sqlite数据库时无法设置属性
Flask SQLalchemy 无法使用 Unix 套接字连接到 Google Cloud Postgresql 数据库
无法通过 Python Elastic Beanstalk 中的 Flask SQLAlchemy URI 连接到 AWS MySQL RDS 实例
使用 Flask-SQLAlchemy 连接到 MSSQL 数据库