可以动态刷新 Django 连接吗?
是否可以动态添加新的数据库连接到 Django?
我有一个使用多个数据库的应用程序(django 1.2.1),并且在运行时,它允许创建新数据库。我需要立即使用这个新数据库 (django.db.connections[db_alias]
)。不重启服务器可以吗?到处使用模块reload
?
感谢您抽出时间。
Is it possible to add a new database connection to Django on the fly?
I have an application that uses multiple databases (django 1.2.1), and while running, it's allowed to create new databases. I'd need to use this new database right away (django.db.connections[db_alias]
). Is it possible without server restart? Using module reload
here and there?
Thank you for your time.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
可以的。。。但是不推荐。。。
您可以访问当前的连接处理程序...
使用类似以下内容:
确保当前线程上有任何数据库活动时不要尝试向数据库字典添加新别名。
您需要克服的一个问题是,在尝试访问数据库之前,需要将此代码放置在当前线程始终会触及的地方。我使用中间件来实现这一点。
It is possible... but not recommended...
You can access the current connection handler...
Use something like this:
Make sure you do not attempt to add a new alias to the databases dictionary while there is ANY database activity on the current thread.
An issue you need to overcome, is that this code will need to be placed somewhere were it will always be touched by the current thread before trying to access the database. I use middleware to achieve this.