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
文件夹,就好像它是一个数据库,但它不是并且失败了。
我使用以下代码和 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
文件夹,就好像它是一个数据库,但它不是并且失败了。