django - 当数据库路由器上的 allow_migrate() 返回 false 时,django 会做什么?
问题描述
我正在编写一个DB router
来控制应该在数据库上应用或不应用什么,因此,实现了 allow_migrate()。
这是我所做的:
def allow_migrate(self, db, app_label, model_name=None, **hints):
if app_label == 'django_q':
return db == 'tasks'
elif app_label != 'django_q':
return db == 'default'
我期待当 arouter
返回时False
,应用程序根本不会应用于当前数据库,它以某种方式发生,没有创建表,但是,整个应用程序迁移列表被添加到django_migrations
数据库的表中。
我期待当allow_migrate()
return时False
,Django 不会向当前数据库添加任何关于此应用程序的内容,但如果这种行为是预期的,那么,这与 相同migrate --fake
,对吧?如果是这样,我更喜欢为其他数据库手动操作。
我做了一些研究,看看allow_migrate()
返回时实际做了什么,False
但没有运气。
提前致谢。
解决方案
推荐阅读
- jquery - 使用 jQuery 的足迹
- javascript - 如何使用多次击键移动到 PsychoPy(JS 在线版)中的新程序
- react-native - 每次打开应用程序时是否可以重新加载反应原生应用程序?
- java - 如何检查字符串末尾的一些数字,如果存在则将它们加 1?
- selenium - Sikuli 在图像点击上失败,因为无法找到
- selenium - 如何将我的 Selenium Side-Runner 结果保存到文件中?
- javascript - 如何在 Javascript 中选择合适的后置摄像头?
- hive - 如何重命名自动命名的列
- kotlin - Kotlin JS 和镜头
- c# - Binance.Net 下单全部数量