python - sql alchemy 无法打开具有多个数据库的数据库文件
问题描述
我使用以下代码和 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
文件夹,就好像它不是数据库一样,并且失败了。
推荐阅读
- php - 从 Wordpress 中仅排除标签 x 上的第一篇文章
- c# - 如何在 Xamarin Forms 中的其他项目之上(之上)显示 ListView?
- r - R - 同时用动态滞后数据修改几个相互关联的列
- html - 为什么输入和标签元素会在开发实例上自动更改
- excel - 通过删除重复部分将一个字符串连接到另一个字符串
- python-3.x - Dual Task 中的同时响应收集
- python-3.x - 在快速启动之后,Snips-nlu 意图返回空意图 json
- javascript - 有没有办法访问 JavaScript 中尚未定义的变量?
- javascript - Semmle CodeQL CLI:“QL 数据集与 QL 不兼容”
- java - Swagger2:无法自省类 [springfox.documentation.swagger2.configuration.Swagger2DocumentationConfiguration]