sql Alchemy 无法打开包含多个数据库的数据库文件

sql alchemy unable to open database file with multiple databases

我使用以下代码和 python+flask+sqlalchemy

创建了两个数据库
from flask import Flask 
from flask_sqlalchemy import SQLAlchemy
from flask_migrate import Migrate, MigrateCommand
from flask_script import Manager

app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///C:\Users\dmac'
app.config['SQLALCHEMY_BINDS'] = {
   'user': 'sqlite:///C:\Users\dmac\user.db',
   'stock': 'sqlite:///C:\Users\dmac\price.db'
}
db = SQLAlchemy(app)
migrate = Migrate(app, db, render_as_batch = True)
manager = Manager(app)
manager.add_command('db', MigrateCommand)
if __name__ == '__main__':
   manager.run()

我运行以下脚本:

python app.py db init--multi 
python app.py migrate

我收到以下错误:sqlalchemy.exc.OperationalError:(sqlite3.OperationalError) 无法打开数据库文件(此错误的背景位于:http://sqlalche.me/e/e3q8

我查看并尝试了不同的解决方案,但我仍然遇到相同的错误。任何帮助将不胜感激。谢谢

我认为问题在于您将 SQLALCHEMY_DATABASE_URI 指向文件夹而不是数据库。所以 SQLAlchemy 试图打开 dmac 文件夹,就好像它是一个数据库,但它不是并且失败了。

https://flask-sqlalchemy.palletsprojects.com/en/2.x/binds/