👌

【解決】Flask_SQLAlchemyでのOperationalError

2022/12/10に公開

エラー内容とコード

エラー内容

sqlite3.OperationalError: unable to open database file

コード

https://readthedocs.org/projects/flask-sqlalchemy/downloads/pdf/2.x/

に存在する

app.py
from flask import Flask
from flask_sqlalchemy import SQLAlchemy

app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:////tmp/test.db'
db = SQLAlchemy(app)

を作ったうえでシェルから以下を打ち込む。

python
>>> from app import db
>>> db.create_all()

解決方法

相対パスと絶対パスの指定の仕方の問題だったっぽい。

app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:////tmp/test.db' # NG
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///tmp/test.db'  # OK

Discussion